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ě volitelný typu B
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í
ANL0005 Ing. Tomáš Anlauf
JAN0795 Mgr. Ondřej Janča
KOT0084 Ing. Vojtěch Kotík
KUD007 doc. Mgr. Miloš Kudělka, Ph.D.
PAP0081 Ing. Lukáš Papík
PLE0049 Ing. Jakub Plesník
RAD0107 Ing. Martin Radvanský
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 1+2
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). Písemná zkouška.

E-learning

Další požadavky na studenta

Další požadavky na studenta nejsou kladeny.

Prerekvizity

Kód předmětuZkratkaNázevPovinnost
450-2079 ZAP Základy algoritmizace a programování Doporučená
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ůMax. počet pokusů
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 3
Rozsah povinné účasti: Je vyžadována stoprocentní účast na cvičeních s výjimkou nemoci potvrzené od lékaře.

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP: Splnění všech povinných úkolů v individuálně dohodnutých termínech.

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2024/2025 (B0613A140014) Informatika INF P čeština Ostrava 1 povinný stu. plán
2024/2025 (B0613A140014) Informatika INF K čeština Ostrava 1 povinný stu. plán
2024/2025 (B0713A060007) Automobilové elektronické systémy SPA P čeština Ostrava 1 povinný stu. plán
2024/2025 (B0588A170003) Aplikované vědy a technologie MTM P čeština Ostrava 1 povinně volitelný typu A stu. plán
2024/2025 (B0588A170003) Aplikované vědy a technologie FYZ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2024/2025 (B0588A170003) Aplikované vědy a technologie MAR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2024/2025 (B0588A170003) Aplikované vědy a technologie MTR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2024/2025 (B0588A170003) Aplikované vědy a technologie PRJ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2024/2025 (B0714A060023) Komunikační a informační technologie KIT P čeština Ostrava 2 povinný stu. plán
2024/2025 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 2 povinný stu. plán
2024/2025 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 1 volitelný odborný stu. plán
2024/2025 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 1 volitelný odborný stu. plán
2024/2025 (B0714A060023) Komunikační a informační technologie KIT K čeština Ostrava 2 povinný stu. plán
2023/2024 (B0613A140014) Informatika INF K čeština Ostrava 1 povinný stu. plán
2023/2024 (B0613A140014) Informatika INF P čeština Ostrava 1 povinný stu. plán
2023/2024 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 2 povinný stu. plán
2023/2024 (B0713A060007) Automobilové elektronické systémy SPA P čeština Ostrava 1 povinný stu. plán
2023/2024 (B0588A170003) Aplikované vědy a technologie MTM P čeština Ostrava 1 povinně volitelný typu A stu. plán
2023/2024 (B0588A170003) Aplikované vědy a technologie FYZ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2023/2024 (B0588A170003) Aplikované vědy a technologie MAR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2023/2024 (B0588A170003) Aplikované vědy a technologie MTR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2023/2024 (B0588A170003) Aplikované vědy a technologie PRJ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2023/2024 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 1 volitelný odborný stu. plán
2023/2024 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 1 volitelný odborný stu. plán
2023/2024 (B0714A060023) Komunikační a informační technologie MRK P čeština Ostrava 2 povinně volitelný typu A stu. plán
2023/2024 (B0714A060023) Komunikační a informační technologie KS P čeština Ostrava 2 povinně volitelný typu A stu. plán
2023/2024 (B0714A060023) Komunikační a informační technologie KS K čeština Ostrava 2 povinně volitelný typu A stu. plán
2023/2024 (B0714A060023) Komunikační a informační technologie MRK K čeština Ostrava 2 povinně volitelný typu A stu. plán
2023/2024 (B0714A060008) Mobilní technologie K čeština Ostrava 1 povinný stu. plán
2023/2024 (B0714A060008) Mobilní technologie P čeština Ostrava 1 povinný stu. plán
2022/2023 (B0613A140014) Informatika INF K čeština Ostrava 1 povinný stu. plán
2022/2023 (B0613A140014) Informatika INF P čeština Ostrava 1 povinný stu. plán
2022/2023 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 2 povinný stu. plán
2022/2023 (B0713A060007) Automobilové elektronické systémy SPA P čeština Ostrava 1 povinný stu. plán
2022/2023 (B0714A060023) Komunikační a informační technologie KS K čeština Ostrava 2 povinně volitelný typu A stu. plán
2022/2023 (B0714A060023) Komunikační a informační technologie MRK K čeština Ostrava 2 povinně volitelný typu A stu. plán
2022/2023 (B0714A060023) Komunikační a informační technologie MRK P čeština Ostrava 2 povinně volitelný typu A stu. plán
2022/2023 (B0714A060023) Komunikační a informační technologie KS P čeština Ostrava 2 povinně volitelný typu A stu. plán
2022/2023 (B0714A060008) Mobilní technologie P čeština Ostrava 1 povinný stu. plán
2022/2023 (B0714A060008) Mobilní technologie K čeština Ostrava 1 povinný stu. plán
2022/2023 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 1 volitelný odborný stu. plán
2022/2023 (B0588A170003) Aplikované vědy a technologie MTM P čeština Ostrava 1 povinně volitelný typu A stu. plán
2022/2023 (B0588A170003) Aplikované vědy a technologie FYZ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2022/2023 (B0588A170003) Aplikované vědy a technologie MAR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2022/2023 (B0588A170003) Aplikované vědy a technologie MTR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2022/2023 (B0588A170003) Aplikované vědy a technologie PRJ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2022/2023 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 1 volitelný odborný stu. plán
2021/2022 (B0588A170003) Aplikované vědy a technologie MTM P čeština Ostrava 1 povinně volitelný typu A stu. plán
2021/2022 (B0588A170003) Aplikované vědy a technologie FYZ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2021/2022 (B0588A170003) Aplikované vědy a technologie MAR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2021/2022 (B0588A170003) Aplikované vědy a technologie MTR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2021/2022 (B0588A170003) Aplikované vědy a technologie PRJ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2021/2022 (B0613A140014) Informatika INF P čeština Ostrava 1 povinný stu. plán
2021/2022 (B0613A140014) Informatika INF K čeština Ostrava 1 povinný stu. plán
2021/2022 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 2 povinný stu. plán
2021/2022 (B0713A060007) Automobilové elektronické systémy SPA P čeština Ostrava 1 povinný stu. plán
2021/2022 (B0714A060008) Mobilní technologie K čeština Ostrava 1 povinný stu. plán
2021/2022 (B0714A060008) Mobilní technologie P čeština Ostrava 1 povinný stu. plán
2021/2022 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 1 volitelný odborný stu. plán
2021/2022 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 1 volitelný odborný stu. plán
2021/2022 (B3973) Automobilové elektronické systémy P čeština Ostrava 1 povinný stu. plán
2020/2021 (B0714A150003) Počítačové systémy pro průmysl 21. století INF P čeština Ostrava 2 povinný stu. plán
2020/2021 (B0613A140014) Informatika INF K čeština Ostrava 1 povinný stu. plán
2020/2021 (B0613A140014) Informatika INF P čeština Ostrava 1 povinný stu. plán
2020/2021 (B0588A170003) Aplikované vědy a technologie MTM P čeština Ostrava 1 povinně volitelný typu A stu. plán
2020/2021 (B0588A170003) Aplikované vědy a technologie FYZ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2020/2021 (B0588A170003) Aplikované vědy a technologie MAR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2020/2021 (B0588A170003) Aplikované vědy a technologie MTR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2020/2021 (B0588A170003) Aplikované vědy a technologie PRJ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2020/2021 (B2647) Informační a komunikační technologie P čeština Ostrava 1 povinný stu. plán
2020/2021 (B2647) Informační a komunikační technologie K čeština Ostrava 1 povinný stu. plán
2020/2021 (B3973) Automobilové elektronické systémy P čeština Ostrava 1 povinný stu. plán
2020/2021 (B0714A060008) Mobilní technologie P čeština Ostrava 1 povinný stu. plán
2020/2021 (B0714A060008) Mobilní technologie K čeština Ostrava 1 povinný stu. plán
2020/2021 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 1 volitelný odborný stu. plán
2020/2021 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 1 volitelný odborný stu. plán
2020/2021 (B0713A060007) Automobilové elektronické systémy SPA P čeština Ostrava 1 povinný stu. plán
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í INF 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 MTM P čeština Ostrava 1 povinně volitelný typu A stu. plán
2019/2020 (B0613A140014) Informatika INF P čeština Ostrava 1 povinný stu. plán
2019/2020 (B0613A140014) Informatika INF K čeština Ostrava 1 povinný stu. plán
2019/2020 (B0588A170003) Aplikované vědy a technologie FYZ P čeština Ostrava 1 povinně volitelný typu B stu. plán
2019/2020 (B0588A170003) Aplikované vědy a technologie MAR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2019/2020 (B0588A170003) Aplikované vědy a technologie MTR P čeština Ostrava 1 povinně volitelný typu B stu. plán
2019/2020 (B0588A170003) Aplikované vědy a technologie PRJ 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

Hodnocení Výuky



2022/2023 letní
2021/2022 letní
2020/2021 letní
2019/2020 letní