Detail předmětu
Objektově orientované programování
FSI-VOB Ak. rok: 2021/2022 Letní semestr
Předmět je zaměřen na objektově orientované programování a jeho použití při návrhu a realizaci softwarových systémů. Výklad technik OOP je z hlediska metodiky částečně držen v obecné rovině, detaily implementace a praktické příklady používají jazyk C++ a C#.
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Absolvent bude schopen používat technologii objektově orientovaného programování pro návrh a implementaci softwarových systémů s použitím programovacího jazyka C++ a C#.
Prerekvizity
Předpokládají se základní znalosti algoritmizace a programování v některém procedurálním programovacím jazyce. Znalost jazyka C je výhodou.
Plánované vzdělávací činnosti a výukové metody
Předmět je vyučován formou přednášek, které mají charakter výkladu základních principů a teorie dané disciplíny. Cvičení je zaměřeno na praktické zvládnutí látky probrané na přednáškách.
Způsob a kritéria hodnocení
Pro udělení zápočtu je nutná aktivní účast na cvičeních, vypracování závěrečného testu (max. 50 bodů) a zpracování semestrálního projektu (max. 50 bodů). Studenti si sami volí téma projektu, projekt je ohodnocen vyučujícím. Pro úspěšné zakončení kursu je nutné získat v součtu alespoň 50 bodů.
Jazyk výuky
čeština
Cíl
Cílem je pochopení rysů objektově orientovaného programování a metodiky návrhu a tvorby programu s využitím OOP. Seznámit se s podporou objektové technologie v jazyce C++ a C#.
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Přítomnost na přednáškách je doporučená, na cvičeních povinná. Výuka probíhá podle rozvrhu. Stanovení formy náhrady zameškaných cvičení je v kompetenci vyučujícícho.
Použití předmětu ve studijních plánech
Program N-AIŘ-P: Aplikovaná informatika a řízení, magisterský navazující
obor ---: bez specializace, 3 kredity, povinný
Typ (způsob) výuky
Přednáška
13 hod., nepovinná
Vyučující / Lektor
Osnova
1. Klasifikace programovacích jazyků. Vývoj technologie programování. Charakteristika OOP.
2. Úvod do jazyka C++ a C#, základní pojmy, objektové datové typy, přístup k položkám objektů.
3. Inicializace instance, konstruktor a destruktor.
4. Dědičnost, hierarchie a vzájemné vztahy objektů.
5. Pozdní vazba, virtuální metody.
6. Přetížené operátory.
7. Kontejnery.
8. Serializace objektů. Proudy dat. Persistentní objekty.
9. Genericita.
10.-11. Objektový návrh, obecná metodika OOP, návrhové vzory.
12. Objekty jako výpočetní procesy.
13. Realizace rozsáhlých projektů.
Cvičení s počítačovou podporou
26 hod., povinná
Vyučující / Lektor
Osnova
1. Opakování algoritmizace, práce s překladačem.
2. Příklady v C++ bez využití objektových vlastností.
3.-10. Příklady k tématům probíraným na přednáškách v jazyce C++ a alternativně v jazyce C#.
11., 12. Implementace genetického algoritmu v C++.
13. Závěrečný test.