Vyučující
|
-
Futera Zdeněk, doc. RNDr. Ph.D.
|
Obsah předmětu
|
Obsah přednášek: Přednáška je členěna následovně: 1. Rozdíly mezi C a C++, základní IO operace, reference a dynamická správa paměti 2. Pokročilá práce s textem, formátování, třída string 3. Přetěžování funkcí, referenční proměnné a implicitní argumenty 4. Uzavřenost, deklarace třídy, konstruktory a destruktor 5. Polymorfismus, přetěžování operátorů, spřátelené funkce 6. Dědičnost, kontrola přístupu k položkám třídy, virtuální metody 7. Jmenné prostory, modulárnost a knihovny 8. Řešení nečekaných událostí, výjimky 9. Datové streamy a práce se soubory 10. Šablony funkcí a tříd 11. Datové kontejnery a iterátory 12. Asociativní pole, množiny, mapy a algoritmy 13. Rozšíření C++, vyšší programovací jazyky, grafika Obsah cvičení/semináře: Cvičení probíhají v počítačových učebnách, jsou zaměřená na praktickou implementaci probíraných konceptů a tematicky úzce navazují na přednášky. Na rozdíl o teoretičtěji zaměřených přednášek, v rámci cvičení je kladen důraz na osvojení si syntaxe jazyka C++ a schopnost efektivně a smysluplně implementovat prvky OOP do funkčních programů. Předpokládá se aktivní práce studentů jak během prezenční výuky, tak při řešení domácích úloh, a především semestrální práce.
|
Studijní aktivity a metody výuky
|
Monologická (výklad, přednáška, instruktáž), Demonstrace
- Účast na výuce
- 52 hodin za semestr
- Příprava na zkoušku
- 16 hodin za semestr
- Semestrální práce
- 32 hodin za semestr
- Domácí příprava na výuku
- 20 hodin za semestr
|
Výstupy z učení
|
Předmět je určen pro rozšíření základů programování o objektové přístupy v programovacím jazyce C++. V rámci kurzu jsou nejprve probírána nejvýznamnější rozšíření jazyka C jako je práce s textem či přetěžování funkcí. Poté jsou vyloženy základy objektově orientovaného programování (OOP) jako je uzavřenost, dědičnost a polymorfismus, které jsou postupně demonstrovány na jejich konkrétní syntaxi jazyka C++. V závěru kurzu se student seznámí se standardní knihovnou dostupných šablon (STL) a rozšířením jazyka C++ na další vyšší jazyky, využití externích knihoven, a to včetně těch určených pro práci s grafikou (GUI).
Student bude obeznámen se základy objektově orientovaného programování (OOP), bude chápat pojmy jako uzavřenost, dědičnost a polymorfismus. Tyto přístupy budou v rámci kurzu demonstrovány a procvičovány v programovacím jazyce C++, který by měl student po absolvování kurzu alespoň v základní podobě ovládat.
|
Předpoklady
|
Znalost kurzu Programování I (UFY PRG1).
|
Hodnoticí metody a kritéria
|
Kombinovaná zkouška, Seminární práce
Průběžné odevzdávání domácích úloh, vytvoření semestrální práce a získání alespoň 35 bodů z 50 možných za ohodnocení těchto prací. U zkoušky musí student vytvořit funkční program splňující zadanou úlohu a správně zodpovědět alespoň 70% otázek týkajících se teorie.
|
Doporučená literatura
|
-
Studentům jsou k dispozici prezentace z přednášek a ukázkové zdrojové kódy ze cvičeních. Dále je ke studiu doporučena následující literatura:.
-
[1] B. Stroustrup: The C++ Programming Language, 4th Edition, 2009.
-
[2] S. Prata: Mistrovství v C++, 4. vydání, 2016.
-
[3] M. Virius: Od C k C++ Kopp, 2000.
-
[4] Jiří Prokop, Algoritmy v jazyku C a C++, 2016.
-
[5] B. Eckel: Thinking in C++ (2nd Edition), 2000.
-
[6] B. Stroustrup: Programming : Principles and Practice Using C++ (1st edition) 2009.
|