Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2026/2027

Objektově orientované programování

Zobrazit rozvrh
Kód Zakončení Kredity (ECTS) Rozsah Jazyk výuky
F7PMIOOP Z,ZK 3 1P+2C česky
Garant předmětu:
Radim Krupička
Přednášející:
Radim Krupička
Cvičící:
Bohuslav Dvorský, Tomáš Krajča, Radim Krupička
Předmět zajišťuje:
katedra biomedicínské informatiky
Anotace:

Objektově orientované programování (OOP) je v současné nejpoužívanější programovací paradigma. Cílem předmětu je seznámit studenty s používanými metodami a principy objektového programování. Studenti se seznámí s konkrétními implementacemi OOP v jazycích Python, C#, JAVA, C++, a MATLAB a osvojí si objektové myšlení. Předmět se bude soustředit na implementace a základy jazyka Python.

Požadavky:

Během semestru se uskuteční 3 zápočtové testy za které lze v celkovém součtu získat 100b, pro splnění a udělení zápočtu je potřeba absolvovat všechny testy a obdržet v celkovém součtu minimálně 52b. Studenti mohou některé body navíc získat za nepovinnou semestrální práci (zadána 9. týden semestru).

Povoleny jsou maximálně 3 omluvené absence. Zkouška se skládá z praktické a teoretické části včetně ústního dozkoušení.

Osnova přednášek:

1.Úvod do programování, Git a python, seznámení s OOP, základní pojmy, objektové datové typy, přístup k položkám objektů.

2.Objektové modelování, vývoj a kvalita software, OOP v python

3.Dědičnost, hierarchie, vzájemné vztahy objektů, virtuální metody, polymorfismus.

4.Mutabilita, immutabilita, funkcionální abstrakce

5.Konstrukční návrhové vzory (singleton, factory, protoype, builder)

6.Strukturální návrhové vzory (adapter, composite, decorator, facade, flightweight)

7.Vzory chování (iterator, strategy, visitor , observer, state, memento, lazy initialization, object pool)

Osnova cvičení:

1. Příprava prostředí - VScode, Git, Úvod do Pythonu, debug. Proměnné, podmínky, cykly.

2. Státní svátek (2026)

3. Balíčky, struktura projektu, příprava virtuálního prostředí, import,__init__, __main__, pip, ruff, řetězce, listy ,Datové struktury (list, tuple,set, dictionary), wrappery, Práce se soubory

4. Funkce, rozbalování, filtrování, procházení,

5. Funkce (Docstring), variabilní vstupní proměnné (*args, **kwargs) , Lambda funkce, funkce jako parametr

6. Test 1

7. Modelování - class diagram, asociace, agregace, kompozice, OOP prakticky - definice třídy, konstruktor, atributy

8. OOP metody, dědičnost, práce na vzorové úloze

9. OOP pokračování, Testování (zadání semestrální práce)

10. Test 2

11. Implementace návrhových vzorů - Creational patterns (Singleton, Factory,...)

12. Imlementace návrhových vzorů - Structural patterns (Decorator, Adapter, Proxy,...)

13. Implementace návrhových vzorů - Behavioral patterns (Observer, Command,...)

14. Test 3

Cíle studia:

Cílem předmětu je seznámit studenty s používanými metodami a principy objektového programování. Studenti se seznámí s konkrétními implementacemi OOP v jazycích Python, C#, JAVA, C++ a MATLAB a osvojí si objektové myšlení.

Studijní materiály:

Povinná literatura:

[1] PECINOVSKÝ, Rudolf. OOP: naučte se myslet a programovat objektově. Brno: Computer Press, 2010. ISBN 978-80-251-2126-9.

Doporučená literatura:

[2] BISHOP, J. M. C#: návrhové vzory. Brno: Zoner Press, 2010. Encyklopedie Zoner Press. ISBN 978-80-7413-076-2. [3] NAGEL, Christian. C# 2008: programujeme profesionálně. Brno: Computer Press, 2009. Programujeme profesionálně. ISBN 978-80-251-2401-7.

Poznámka:
Rozvrh na zimní semestr 2026/2027:
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
Po
místnost KL:B-520
Krupička R.
14:00–15:50
(přednášková par. 1)
Kladno FBMI
Lab. umělé inteli. a bioinfor.
místnost KL:B-520
Krajča T.
Krupička R.

16:00–17:50
(přednášková par. 1
paralelka 2)

Kladno FBMI
Lab. umělé inteli. a bioinfor.
Út
St
Čt
Pá
Rozvrh na letní semestr 2026/2027:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 14. 10. 2026
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet5586006.html