Přeskočit na hlavní obsah
Přeskočit hlavičku
Ukončeno v akademickém roce 2020/2021

Programování II

Typ studia bakalářské
Jazyk výuky angličtina
Kód 460-2043/02
Zkratka PR II
Název předmětu česky Programování II
Název předmětu anglicky Programming II
Kreditů 3
Garantující katedra Katedra informatiky
Garant předmětu doc. Mgr. Miloš Kudělka, Ph.D.

Osnova předmětu

Přednášky
1. Vývoj programovacích paradigmat a jazyků, příčiny a důsledky.
2. Aspekty kvality software, znovupoužití. Nevýhody použití klasických přístupů.
3. Třída x objekt. Objekt jako počítačová reprezentace entity reálného světa. Data a funkce objektu, stav objektu.
4. Přehled principů OOP. Zapouzdření, skládání, zasílání zpráv, delegování, dědičnost, polymorfismus.
5. Vznik a zánik objektu I. Konstruktory, destruktory, jak fungují a proč.
6. Veřejná a soukromá část objektu, skrývání implementace.
7. Návrh objektově orientovaného programu I.
8. Jednoduchá dědičnost a důvody pro její použití. Polymorfismus.
9. Virtuální metody. Abstraktní třídy. Typy skrývání implementace. Vícenásobná x jednoduchá dědičnost, problémy a důsledky.
10. Vznik a zánik objektů II. Speciální typy konstruktorů, kopírovací konstruktor.
11. Návrh objektově orientovaného programu II.
12. Šablony (template) a důvody pro jejich použití.
13. Standardní objektové knihovny jazyka C++.
14. Návrh objektově orientovaného programu III.

Počítačové laboratoře
1. Porovnání zdrojových kódu úloh s obdobným zaměřením a rozsahem, ale s použitím různého přístupu (procedurální x objektově orientovaný). Hodnocení z pohledu struktury, čitelnosti, spravovatelnosti.
2. Ukázka implementace jednoduchých spolupracujících tříd, analýza chování objektů.Návrh třídy s ohledem na skrývání detailů implementace.
3. Implementace jednoduchého objektově orientovaného programu I.
4. Ukázka implementace jednoduché objektové hierarchie (dědičnost), analýza chování objektů.
5. Implementace jednoduchého objektově orientovaného programu II.
6. Ukázka implementace objektového programu s využitím šablon a vybraných tříd standardních objektových knihoven jazyka C++.
7. Implementace jednoduchého objektově orientovaného programu III.

Povinná literatura

Eckel B.: Myslíme v jazyku C++, GradaPublishing, 2000, ISBN 80-247-9009-2.

Doporučená literatura

Stroustrup, B.: C++ Programovací jazyk. Česky: BEN-technická literatura, Praha 1997.
Meyer, B.: Object-Oriented Software Construction, Prentice Hall, 1997, ISBN: 978-0136291558 .