460-2043/01 – Programování II (PR II)

Garantující katedraKatedra informatikyKredity3
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í2013/2014Rok zrušení2022/2023
Určeno pro fakultyUSP, FEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
KOC0161 Ing. David Kocich
KOT0084 Ing. Vojtěch Kotík, Ph.D.
KUB0357 Ing. Eduard Kubanda
KUD007 doc. Mgr. Miloš Kudělka, Ph.D.
PLE0049 Ing. Jakub Plesník
SIK0092 Ing. Lubomír Sikora
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Klasifikovaný zápočet 2+1
kombinovaná Klasifikovaný zápočet 10+0

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

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 „Programování II“ je úzce propojen s předmětem „Algoritmy II“, 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ými vstupy pro předmět „Programování II“ je úspěšné absolvování předmětů „Základy programování“ a „Algoritmy I“. Tyto předměty, díky obdobnému propojení, studentům společně poskytnou nezbytné dovednosti a znalosti spojené s implementací datových struktur a algoritmů v prostředí strukturovaného a procedurálního programování.

Vyučovací metody

Přednášky
Cvičení (v učebně)

Anotace

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. Díky úzkému propojení s předmětem „Algoritmy II“ budou studenti průběžně aplikovat získané znalosti a dovednosti při implementaci abstraktních datových typů s využitím technik objektově orientovaného programování.

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.

Další studijní materiály

Forma způsobu ověření studijních výsledků a další požadavky na studenta

E-learning

Další požadavky na studenta

Další požadavky na studenta nejsou kladeny.

Prerekvizity

Předmět nemá žádné 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. Návrh objektově orientovaného programu III. Počítačová cvičení: 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.

Podmínky absolvování předmětu

Prezenční forma (platnost od: 2013/2014 zimní semestr, platnost do: 2022/2023 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
Klasifikovaný zápočet Klasifikovaný zápočet 100 (100) 51 3
        Průběžný test znalostí Jiný typ úlohy 40  20
        Písemná práce Písemka 60  31
Rozsah povinné účasti:

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP:

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2021/2022 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 1 povinný stu. plán
2020/2021 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 1 povinný stu. plán
2019/2020 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 1 povinný stu. plán
2018/2019 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 1 povinný stu. plán
2018/2019 (B3973) Automobilové elektronické systémy P čeština Ostrava 1 povinný stu. plán
2018/2019 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2018/2019 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2017/2018 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2017/2018 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2017/2018 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 1 povinný stu. plán
2017/2018 (B3973) Automobilové elektronické systémy P čeština Ostrava 1 povinný stu. plán
2016/2017 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2016/2017 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2016/2017 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 1 povinný stu. plán
2015/2016 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2015/2016 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2014/2015 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2014/2015 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2013/2014 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2013/2014 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán

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

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku
V - ECTS - bc. 2014/2015 prezenční čeština volitelný odborný 401 - Studijní oddělení FEI stu. blok

Hodnocení Výuky



2018/2019 letní
2017/2018 letní
2016/2017 letní
2015/2016 letní
2014/2015 letní
2013/2014 letní