Detail předmětu
Praktické programování v C++
FEKT-BPC-PPCAk. rok: 2018/2019
Předmět se věnuje praktickému zvládnutí základů jazyka C++, jako rozšíření jazyka C (v návaznosti na látku probranou v předchozích předmětech).
Studenti se seznámí se základními neobjektovými rozšířeními jazyka C, se základy objektového programování. Dále se seznámí s nástroji pro tvorbu programu v C++ a standardními knihovnami.
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Absolvent předmětu je schopen:
- používat neobjektové rozšíření jazyka
- provést návrh programu využívajícího objektové programování
- naprogramovat a použít navržené objekty (přístupová práva, členská data, metody, operátory)
- orientace v objektově napsaných programech,
- napsat objektově orientovaný program se základním použitím dědění včetně virtuálních metod,
- použít streamů pro vstupně výstupní operace,
- vytvářet šablony,
- používat neobjektové rozšíření jazyka
- provést návrh programu využívajícího objektové programování
- naprogramovat a použít navržené objekty (přístupová práva, členská data, metody, operátory)
- orientace v objektově napsaných programech,
- napsat objektově orientovaný program se základním použitím dědění včetně virtuálních metod,
- použít streamů pro vstupně výstupní operace,
- vytvářet šablony,
Prerekvizity
Absolvování kurzu BPC-UDP a úspěšné absolvování BPC-ALD nebo kurzů s podobnou náplní.
- povinná prerekvizita
Literatura
VIRIUS, M.: Programování v C++ od základů k profesionálnímu použití, Grada publishing, 2018, ISBN: 978-80-271-0502-1 (CS)
STROUSTRUP, B.: The C++ Programming Language. Addison-Wesley,2013. 1368 s. ISBN-13: 978-0321563842. (EN)
ALEXANDRESCU, A.: The C++ Standard Library, Addison Wesley 2012, ISBN 978-0321623218 (EN)
VIRIUS, M.: Jazyky C a C++. 2. , aktualizované vydání. Praha: Grada Publishing, 2011. 368 s. ISBN 9788024739175. (CS)
STROUSTRUP, B.: The C++ Programming Language. Addison-Wesley,2013. 1368 s. ISBN-13: 978-0321563842. (EN)
ALEXANDRESCU, A.: The C++ Standard Library, Addison Wesley 2012, ISBN 978-0321623218 (EN)
VIRIUS, M.: Jazyky C a C++. 2. , aktualizované vydání. Praha: Grada Publishing, 2011. 368 s. ISBN 9788024739175. (CS)
Plánované vzdělávací činnosti a výukové metody
Metody vyučování zahrnují přednášky a cvičení na počítači. Předmět využívá www stránky ve spojení s e-learningem (Moodle). Student odevzdává jeden samostatný projekt během semestru.
Způsob a kritéria hodnocení
cca 40b - projekt - tvorba třídy v návaznosti na přednášky a cvičení.
cca 60b - písemné zkoušky, testy.
Konkrétní bodovou kombinaci (do 100bodů) a podmínky pro uspěšné ukončení předmětu stanoví každoročně aktualizována vyhláška garanta předmětu.
cca 60b - písemné zkoušky, testy.
Konkrétní bodovou kombinaci (do 100bodů) a podmínky pro uspěšné ukončení předmětu stanoví každoročně aktualizována vyhláška garanta předmětu.
Jazyk výuky
čeština
Osnovy výuky
1. Úvod. Opakování C – datové typy, programovací techniky, algoritmizace.
2. Srovnání C a C++. Objektové možnosti C++. Pojem objektu a jeho návrh.
3. Práce s proměnnými pomocí reference. Definice objektu. Přístup k proměnným pomocí this.
4. Přetěžování funkcí a metod. Implicitní parametry funkcí.
5. Konstruktory a destruktory. Životní cyklus proměnných. Pojem viditelnosti a dosažitelnosti obsahu proměnné.
6. Operátory. Friend funkce.
7. Inline funkce a metody. Rozdělení třídy mezi hlavičkový a zdrojový soubor.
8. C++ knihovna pro standardní vstupy a výstupy, pojem stream.
9. Pojem dědění v kontextu objektového programování.
10. Vícenásobné dědění.
11. Virtuální metody.
12. Abstraktní třída a její využití při objektovém návrhu.
13. Pojem výjimka v C++, princip šíření výjimek v programu. Generické programování, pojem šablona.
2. Srovnání C a C++. Objektové možnosti C++. Pojem objektu a jeho návrh.
3. Práce s proměnnými pomocí reference. Definice objektu. Přístup k proměnným pomocí this.
4. Přetěžování funkcí a metod. Implicitní parametry funkcí.
5. Konstruktory a destruktory. Životní cyklus proměnných. Pojem viditelnosti a dosažitelnosti obsahu proměnné.
6. Operátory. Friend funkce.
7. Inline funkce a metody. Rozdělení třídy mezi hlavičkový a zdrojový soubor.
8. C++ knihovna pro standardní vstupy a výstupy, pojem stream.
9. Pojem dědění v kontextu objektového programování.
10. Vícenásobné dědění.
11. Virtuální metody.
12. Abstraktní třída a její využití při objektovém návrhu.
13. Pojem výjimka v C++, princip šíření výjimek v programu. Generické programování, pojem šablona.
Cíl
Praktické zvládnutí základů jazyka C++, jako rozšíření jazyka C.
Získat základní programatorské dovednosti v oblasti objektového programování.
Získat základní programatorské dovednosti v oblasti objektového programování.
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročne aktualizovaná vyhláška garanta předmětu.