Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2023/2024
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Object-Oriented Programming

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BIE-OOP.21 Z,ZK 5 2P+2C English
Garant předmětu:
Filip Křikava
Lecturer:
Filip Křikava, Petr Máj
Tutor:
Martin Drozdík, Filip Křikava, Filip Říha
Supervisor:
Department of Theoretical Computer Science
Synopsis:

Object-oriented programming has been used in the last 50 years to solve computational problems by using graphs of objects that collaborate together by message passing. In this course students get acquainted with the main principles of object-oriented programming and design, used in modern programming languages. The emphasis is on practical techniques for developing software, which includes testing, error handing, refactoring, and application of design pattern.

Requirements:

- BI-TJV

- BI-PPA

- BI-PA2

Syllabus of lectures:

1. History and the origin of object-oriented paradigm.

2. Basic principles of object-oriented programming and design: objects, messages, classes, attributes.

3. Hierarchical object-oriented data structures.

4. Inheritance and parametric polymorphism, substitution principle.

5. Testing of an object-oriented design.

6. Pure object-oriented languages.

7. Error handling, exceptions, design by contract.

8. Refactoring of object-oriented design.

9. Object model and reflection.

10. Object-oriented design patterns.

11. Prototype-based inheritance.

12. [2] Implementation of object-oriented programming languages.

Syllabus of tutorials:

1. History and the origin of object-oriented paradigm, basic principles of object-oriented programming and design.

2. Composition and inheritance.

3. Polymorphism and the substitution principle.

4. Testing of object-oriented design.

5. Pure object-oriented languages.

6. Error handling, exceptions and design by contract.

7. Refactoring of object-oriented code.

8. Object model and reflection.

9. Object-oriented design patterns.

10. Typeclasses

11. Prototype-based inheritance.

12. [2] Implementation of object-oriented languages.

Study Objective:
Study materials:

1. Stevens R. W. et al : Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition). Addison-Wesley, 2004. ISBN 978-0131411555.

2. Stevens R. W. : Unix Network Programming, Volume 2: Interprocess Communications (2nd Edition). Addison-Wesley, 1998. ISBN 978-0132974295.

3. Raval S. : Decentralized Applications: Harnessing Bitcoin’s Blockchain Technology. O ́Reilly, 2016. ISBN 978-1491924549.

4. Colouris G. : Distributed Systems: Concepts and Design (5th Edition). Addison-Wesley, 2011. ISBN 978-0132143011.

Note:
Further information:
ttps://moodle-vyuka.cvut.cz/course
Time-table for winter semester 2023/2024:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
Tue
Wed
Thu
roomT9:301
Křikava F.
Máj P.

16:15–17:45
(lecture parallel1)
Dejvice
NBFIT učebna
roomT9:351
Říha F.
18:00–19:30
(lecture parallel1
parallel nr.101)

Dejvice
NBFIT PC ucebna
Fri
Time-table for summer semester 2023/2024:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-03-27
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6624306.html