Detail předmětu
Objektově orientované programování
FSI-VOB Ak. rok: 2020/2021 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#.
Jazyk výuky
čeština
Počet kreditů
3
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ů.
Učební cíle
Pochopit rysy objektově orientovaného programování a metodiku 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í, 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++.
3. Základní pojmy, objektové datové typy, přístup k položkám objektů.
4. Inicializace instance, konstruktor a destruktor.
5. Dědičnost, hierarchie a vzájemné vztahy objektů.
6. Pozdní vazba, virtuální metody.
7. Přetížené operátory.
8. Kontejnery.
9. Serializace objektů. Proudy dat. Persistentní objekty.
10. Genericita.
11. Objektový návrh.
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.