Detail předmětu

Objektově orientované programování

FSI-VOBAk. rok: 2020/2021

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

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.

Základní literatura

Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.
Weisfeld, M.: The Object-Oriented Thought Process. Addison-Wesley Professional, 2008.

Doporučená literatura

Prata, S.: Mistrovství v C++, 2. vydání. Computer Press, 2004
Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.

Elearning

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

  • Program N-AIŘ-P magisterský navazující 1 ročník, letní semestr, 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.

Elearning