Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Introduction into Object Oriented Architecture

Display time-table
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
roomBR:009
Pecinovský R.
16:00–19:50
(lecture parallel1)
Břehová 7
Fri
Time-table for summer semester 2024/2025:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2025-09-20
For updated information see http://bilakniha.cvut.cz/en/predmet3086506.html