Object-Oriented Programming
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BIE-OOP.21 | Z,ZK | 5 | 2P+2C | anglicky |
- Garant předmětu:
- Filip Křikava
- Přednášející:
- Filip Křikava, Petr Máj
- Cvičící:
- Martin Drozdík, Filip Křikava, Filip Říha
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
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.
- Požadavky:
-
- BI-TJV
- BI-PPA
- BI-PA2
- Osnova přednášek:
-
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.
- Osnova cvičení:
-
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.
- Cíle studia:
- Studijní materiály:
-
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.
- Poznámka:
- Další informace:
- ttps://moodle-vyuka.cvut.cz/course
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bachelor specialization, Computer Engineering, 2021 (volitelný předmět)
- Bachelor specialization, Information Security, 2021 (volitelný předmět)
- Bachelor specialization, Software Engineering, 2021 (PS)
- Bachelor specialization, Computer Science, 2021 (PS)
- Bachelor specialization, Computer Networks and Internet, 2021 (VO)
- Bachelor specialization Computer Systems and Virtualization, 2021 (volitelný předmět)