460-2055/01 – Objektově orientované programování (OOP)

Garantující katedraKatedra informatikyKredity4
Garant předmětudoc. Mgr. Miloš Kudělka, Ph.D.Garant verze předmětudoc. Mgr. Miloš Kudělka, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostpovinný
Ročník1Semestrletní
Jazyk výukyčeština
Rok zavedení2019/2020Rok zrušení
Určeno pro fakultyFEI, FSUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
KUD007 doc. Mgr. Miloš Kudělka, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 1+3
kombinovaná Zápočet a zkouška 14+0

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:

Meyer, B.: Object-Oriented Software Construction, Prentice Hall, 1997, ISBN: 978-0136291558. Eckel B.: Myslíme v jazyku C++, GradaPublishing, 2000, ISBN 80-247-9009-2.

Doporučená literatura:

Stroustrup, B.: The C++ Programming Language. Addison-Wesley Professional, 1997, ISBN 0201889544.

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)

E-learning

Další požadavky na studenta

Další požadavky na studenta nejsou kladeny.

Prerekvizity

Kód předmětuZkratkaNázevPovinnost
460-2052 UPR Úvod do programování Doporučená

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

Prezenční forma (platnost od: 2019/2020 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet 45  23
        Zkouška Zkouška 55  28
Rozsah povinné účasti: Je vyžadována stoprocentní účast na cvičeních s výjimkou nemoci potvrzené od lékaře.

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.FormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2019/2020 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2019/2020 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2019/2020 (B0714A150003) Počítačové systémy pro průmysl 21. století P čeština Ostrava 2 povinný stu. plán
2019/2020 (B3973) Automobilové elektronické systémy P čeština Ostrava 1 povinný stu. plán
2019/2020 (B0714A060008) Mobilní technologie P čeština Ostrava 1 povinný stu. plán
2019/2020 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 1 volitelný odborný stu. plán
2019/2020 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 1 volitelný odborný stu. plán
2019/2020 (B0714A060008) Mobilní technologie K čeština Ostrava 1 povinný stu. plán
2019/2020 (B0588A170003) Aplikované vědy a technologie P čeština Ostrava 1 povinně volitelný typu A stu. plán
2019/2020 (B0613A140014) Informatika P čeština Ostrava 1 povinný stu. plán
2019/2020 (B0613A140014) Informatika K čeština Ostrava 1 povinný stu. plán
2019/2020 (B0588A170003) Aplikované vědy a technologie P čeština Ostrava 1 povinně volitelný typu B stu. plán
2019/2020 (B0588A170003) Aplikované vědy a technologie P čeština Ostrava 1 povinně volitelný typu B stu. plán
2019/2020 (B0588A170003) Aplikované vědy a technologie P čeština Ostrava 1 povinně volitelný typu B stu. plán
2019/2020 (B0588A170003) Aplikované vědy a technologie P čeština Ostrava 1 povinně volitelný typu B stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku