460-2055/02 – Objektově orientované programování (OOP)
Garantující katedra | Katedra informatiky | Kredity | 4 |
Garant předmětu | doc. Mgr. Miloš Kudělka, Ph.D. | Garant verze předmětu | doc. Mgr. Miloš Kudělka, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinný |
Ročník | 1 | Semestr | letní |
| | Jazyk výuky | angličtina |
Rok zavedení | 2019/2020 | Rok zrušení | |
Určeno pro fakulty | FEI, FS | Určeno pro typy studia | bakalářské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Předmět je zaměřen jednak na představení konceptu objektově orientovaného programování, jednak na zvládnutí základních konstrukcí jazyka C++ nezbytných pro návrh objektově orientovaných programů.
Po absolvování předmětu bude student rozumět rozdílu mezi strukturovaným a procedurálním přístupem k programování a objektově orientovaným programováním. V omezené míře bude student zvládat praktický objektový návrh programu a implementaci s využitím objektových technik.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Anotace
Objektově orientované přístupy jsou nezbytnou součástí odborné přípravy každého absolventa informatiky. Jde nejen o klíčový koncept přemýšlení, ale také o technologickou podporu softwarových řešení.
Předmět je úzce propojen s předmětem Algoritmy 1 a 2, do kterého budou přeneseny a prakticky procvičeny dovednosti spojené s využitím jazyka C++ při návrhu objektově orientovaných programů.
Předpokládaným vstupem pro předmět je úspěšné absolvování předmětu Úvod do programování.
Povinná literatura:
Doporučená literatura:
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Kontrola průběžně zadaných implementací souvisejících s využitím principů objektově orientovaného paradigmatu a ověření znalostí formou odpovědí na kontrolní otázky.
Předmět 460-2055/01 Objektově orientované programování má jako povinnou prerekvizitu předmět 460-2052/01 Úvod do programování (student nemůže vykonat zkoušku z 460-2055/01 OOP pokud nezískal klasifikovaný zápočet z 460-2052/01 ÚdP).
Písemná zkouška.
E-learning
Další požadavky na studenta
Další požadavky na studenta nejsou kladeny.
Prerekvizity
Korekvizity
Předmět nemá žádné korekvizity.
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. Defenzivní přístup k tvorbě objektového programu.
Počítačová cvičení:
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.
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.
Implementace jednoduchého objektově orientovaného programu I.
Ukázka implementace jednoduché objektové hierarchie (dědičnost), analýza chování objektů.
Implementace jednoduchého objektově orientovaného programu II.
Ukázka implementace objektového programu s využitím šablon a vybraných tříd standardních objektových knihoven jazyka C++.
Ukázka a defenzivní implementace jednoduchého orientovaného programu.
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky
Předmět neobsahuje žádné hodnocení.