Introduction into Object Oriented Architecture
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
18UOA | Z,ZK | 4 | 2P+2C | Czech |
- Course guarantor:
- Lecturer:
- Rudolf Pecinovský
- Tutor:
- Rudolf Pecinovský
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
The course is intended for students who are familiar with the basics of object-oriented programming in Python. A basic knowledge of object-oriented features in Java and C++ is also beneficial. It will familiarize students with the general object-oriented paradigm and, above all, with the principles that should be followed when building larger applications. Using several gradually built and improved applications, it demonstrates how adherence to these principles can be applied in the gradual improvement and refinement of applications according to growing customer requirements.
- Requirements:
-
Knowledge of Python at the level of the textbook «Začínáme programovat v jazyku Python 3. rozšířené a aktualizované vydání» is assumed.
- Syllabus of lectures:
- Syllabus of tutorials:
-
1. Design of a program according to the classic structured paradigm.
2. Conversion of the program to the object-oriented paradigm and implementation of the required API.
3. Separation of the part for visualization of applications of the Listener design pattern
and implementation of the interchangeability of different visualization implementations.
5. Design of a simple Calculator-type application with interchangeable CPUs and display modules of the Bridge pattern.
4. Design of an API enabling the separation of the core of the application under development from the superstructure.
5. Demonstration of a suitable API for the simple implementation of the interchangeability of different cores and different superstructures.
6. Modification of an existing application to support different types of concurrent programming.
7. Design of the architecture of a more extensive application and methods for testing it during development.
- Study Objective:
-
Learn the principles of working according to the object-oriented paradigm and learn to apply OOP principles when solving practical tasks.
- Study materials:
-
Recommended reading:
[1] PECINOVSKÝ Rudolf: Začínáme programovat v jazyku Python 3. rozšířené a aktualizované vydání. Grada 2024. ISBN 978-80-271-7747-8 (ePub), ISBN 978-80-271-7746-1 (pdf), ISBN 978-80-271-5467-8 (print).
[2] PECINOVSKÝ Rudolf: Návrhové vzory 33 vzorových postupů pro objektové programování. Brno: Computer Press, 2007. ISBN 978-80-251-1582-4.
[3] FOWLER Martin et al.: Patterns of enterprise application architecture. Boston: Addison-Wesley, 2003. XXIV, 533 s. The Addison-Wesley signature series. ISBN 0-321-12742-0.
[4] PECINOVSKÝ Rudolf: Python 3.14 Podrobná příručka algoritmických konstrukcí jazyka. Praha: Grada Publishing, 2025, ISBN 978-80-271-6061-7.
[4] PECINOVSKÝ Rudolf: Python 3.14 Podrobná příručka objektových konstrukcí jazyka. Praha: Grada Publishing, 2025, ISBN 978-80-271-6062-4.
- Note:
- Time-table for winter semester 2024/2025:
-
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 Fri - Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Aplikace informatiky v přírodních vědách (elective course)