Detail předmětu
Seminář C++
FEKT-BSCPAk. rok: 2018/2019
Nejprve jsou probrány základy programování v jazyce C. Následně student získá na jednoduchém algoritmu dovednosti jazyka C++ a ucelený přehled vlastností jazyka C++ podle normy ISO. Tím jsou zejména vlastnosti objektů, tříd, operátorů, dědičnost, polymorfismus, přetěžování, šablon funkcí a tříd, obsluha výjimek a jejich použití. Naučí se využívat standardních knihoven STL.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
- analyzovat problém a formulovat algoritmus matematického modelu
- navrhnout algoritmus a efektivně jej implementovat tak, že je výsledný kód pro použitý operační systém velmi výkonný a stabilní
- sestavit a aplikovat v jednoduchém textovém prostředí algoritmus za minimálních požadavků na IT hardware
- znát a aplikovat vlastností objektově orientovaného přístupu
- ovládat objektový přístup k sestavení aplikace
- posoudit, navrhnout a aplikovat nástroje C++ (objekty, třídy, operátory, dědičnost, polymorfismus, přetěžování) využít šablon funkcí a tříd, obsluhovat výjimky, používat standardních knihoven STL
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Pro zvládnutí objektově orientovaného programování a způsobu použití jednotlivých nástrojů je výuka členěna na teoretické objasnění problematiky a jeho následné procvičení na jednoduchých algoritmech.
Přednáška a cvičení proto následují v rozvrhu bezprostředně za sebou. V procvičení na počítačích je student individuálně veden v rámci bodu osnovy k posouzení vhodnosti použití prvku objektového programování v algoritmu, návrhu jeho zakomponování ve zdrojovém textu. Zdrojový text samostatně analyzuje, vyhledá a napraví chyby. Algoritmus samostatně testuje, během cvičení jej modifikuje a získává dovednosti z oblasti variability použitých nástrojů objektového způsobu událostmi řízeného programování. Na konci lekce je samostatně schopen vysvětlit každou položku zdrojového textu a diskutovat nad výhodami a nevýhodami algoritmu, je schopen je samostatně doplnit a tvůrčím způsobem modifikovat.
Způsob a kritéria hodnocení
- za sestavení, odladění a funkčnost algoritmu s prvky objektově orientovaného přístupu programování podle aktuálního tématu (0-5 bodů)
- za aktivní účast v počítačovém cvičení (ateliéru)
Dvakrát za výukové období (semestr) odevzdá samostatně zpracovaný příklad algoritmu s aplikovanými prvky a nástroji objektově orientovaného přístupu programování. (0-25 bodů)
Vyučující hodnotí porozumění využití nástrojů, správnému zařazení v algoritmu a v prvcích API, aplikační potenciál zpracování algoritmu, kvalitu vnoření algoritmu do událostmi řízeného systému jako nadřazeného celku.
Osnovy výuky
2. Dynamická alokace paměti, vícerozměrná pole, pointery, vracení hodnoty parametrem.
3. Vlastnosti jazyka C/C++, směrnice ANSI, objektově orientované programování, algoritmy.
4. Klíčová slova C++, třídy, členské proměnné.
5. Členské funkce-metody, ukazatel this, agregáty, oblasti platnosti a dosažitelnosti identifikátorů.
6. Prostory jmen, paměťové třídy, objekty.
7. Přiřazování objektů, předávání a vracení objektů funkcím.
8. Přehled operátorů, popis a užití operátorů.
9. Přetěžování operátorů.
10. Dědičnost, přístupy v dědičnosti, polymorfismus.
11. Přetěžování konstruktorů, anachronismus přetěžování, přetěžování a nejednoznačnost.
12. Šablony funkcí a tříd, parametry šablon, šablony objektových typů, obsluha výjimek.
13. Knihovny STL a jejich aplikace.
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Základní literatura
Eckel, B.: Myslíme v jazyku C++, GRADA, 2000 (CS)
Herout, P. Učebnice jazyka C, Koop, 6. vydání, 2009. (CS)
ISO: Programming Language C++, WG21/N1043 Draft Proposed International Standard, 1996 (EN)
ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1988 (EN)
Stroustrup, B.: The C++ programming language, special edition, Addison-Wesley, 2000 (EN)
Stroustrup, B.: The C++ programming language, third edition, Addison-Wesley, 1997 (EN)
Zařazení předmětu ve studijních plánech
- Program EEKR-B bakalářský
obor B-TLI , 2 ročník, letní semestr, volitelný mimooborový
- Program AUDIO-J bakalářský
obor J-AUD , 1 ročník, letní semestr, volitelný mimooborový
obor J-AUD , 2 ročník, letní semestr, volitelný mimooborový
obor J-AUD , 3 ročník, letní semestr, volitelný mimooborový - Program AUDIO-P magisterský navazující
obor P-AUD , 1 ročník, letní semestr, volitelný mimooborový
obor P-AUD , 2 ročník, letní semestr, volitelný mimooborový - Program IBEP-T bakalářský
obor T-IBP , 2 ročník, letní semestr, volitelný oborový
obor T-IBP , 3 ročník, letní semestr, volitelný oborový - Program EEKR-CZV celoživotní vzdělávání (není studentem)
obor ET-CZV , 1 ročník, letní semestr, volitelný mimooborový