Předmět: Programování II

» Seznam fakult » FPR » UFY
Název předmětu Programování II
Kód předmětu UFY/464
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Četnost výuky V každém akademickém roce, jen v letním semestru.
Semestr Letní
Počet ECTS kreditů 6
Vyučovací jazyk čeština
Statut předmětu Povinný, Povinně-volitelný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
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.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr