Detail předmětu
Praktické programování v C++
FEKT-KPPCAk. rok: 2017/2018
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ředmětu BPC2A).
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.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
- 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
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Písemné zkoušky až 70b ( klíčová slova, jednoduché programy, tvorba třídy).
Konkrétní bodovou skladbu (do 100bodů) a podmínky pro úspěšné ukončení předmětu stanoví každoročně aktualizovaná vyhláška garanta předmětu.
Osnovy výuky
2. Srovnání C a C++, objekty
3. reference, this
4. přetěžování funkcí, implicitní parametry
5. konstruktory a destruktory
6. operátory
7. inline funkce a metody
8. streamy
9. Dědění
10. vícenásobné dědění
11. virtuální metody
12. abstraktní třídy
13. výjimky, šablony
Obsah cvičení: praktické procvičení látky probrané na přednáškách.
Učební cíle
Získat základní programátorské 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
Základní literatura
Herout, P: ABC programátora v C a C++, KOPP 1998, ISBN 80-901051-2-2 (CS)
Prata, S.: C++ Primer Plus, Indianapolis, SAMS, 2005, ISBN 0-672-32697-3 (EN)
Stroustrup B.:The C++ Programming Language, Addison-Wesley,1997 (CS)
Virius, M.: Jazyky C a C++, Grada Publishing 2006, ISBN 80-247-1494-9 (CS)
Doporučená literatura
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
rozdíly C a C++
přetížení funkcí, reference, neobjektové vlastnosti C++
objektové programování, objektově orientovaný návrh
třída, členské metody a proměnné, konstruktory a destruktory
vstupy a výstupy v C++, streamy, operátory
dědičnost, jednoduchá a vícenásobná
šablony, výjimky, správa paměti
abstraktní třídy, virtuální metody
standard template library, prostory jmen
programovací techniky a vlastnosti
programové prostředí a tvorba aplikací, GUI
API funkce,
Cvičení na počítači
Vyučující / Lektor
Osnova