Detail předmětu

Objektově orientované programování

FSI-VOB-KAk. rok: 2018/2019

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++.

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++.

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.

Doporučená nebo povinná literatura

Weisfeld, M.: The Object-Oriented Thought Process. Addison-Wesley Professional, 2008.
Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.
Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.
Prata, S.: Mistrovství v C++, 2. vydání. Copmuter Press, 2004

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

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++.

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.

Zařazení předmětu ve studijních plánech

  • Program M2I-K magisterský navazující

    obor M-AIŘ , 1. ročník, zimní semestr, 4 kredity, povinný
    obor M-AIŘ , 1. ročník, zimní semestr, 4 kredity, povinný

Typ (způsob) výuky

 

Konzultace

17 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ů.

Řízené samostudium

35 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.
11., 12. Implementace genetického algoritmu v C++.
13. Závěrečný test.