B_OOP Objektově orientované programování

Vysoká škola finanční a správní
léto 2020
Rozsah
2/2. 16 hodin KS/semestr. 6 kr. Ukončení: zk.
Vyučující
doc. RNDr. Jan Lánský, Ph.D. (cvičící)
Ing. Jiří Zumr (cvičící)
Garance
doc. RNDr. Jan Lánský, Ph.D.
Katedra informatiky a matematiky (FES, KIM) – Katedry – Vysoká škola finanční a správní
Kontaktní osoba: Ivana Plačková
Rozvrh seminárních/paralelních skupin
B_OOP/cAPH: Čt 10:30–11:14 E024, Čt 11:15–12:00 E024, J. Lánský
B_OOP/pAPH: Čt 8:45–9:29 E024, Čt 9:30–10:15 E024, J. Lánský
B_OOP/vAPH: Pá 14. 2. 14:00–15:30 E223, 15:45–17:15 E223, Pá 28. 2. 14:00–15:30 E223, 15:45–17:15 E223, Pá 13. 3. 17:30–19:00 E223, 19:15–20:45 E223, So 25. 4. 8:00–9:30 E223, 9:45–11:15 E223, J. Zumr
Předpoklady
B_PJC Programování v jazyce C
Podmínkou pro zakončení tohoto předmětu je ukončení předmětu B_PJC.
Omezení zápisu do předmětu
Předmět je otevřen studentům libovolného oboru.
Cíle předmětu
Student bude umet napsat program v jazyce C++ v souladu s principy objektově orientovaného programování.
Výstupy z učení
Znalost konceptů objektově orientovaného programování: dědičnost, zapouzdření a polymorfizmus. Schopnost vytvořit virtuální funkci, abstraktní třídu, výjimku, šablonu, přetížený konstruktor. Znalost knihovny STL a její aktivní využívání při tvorb komplikovanách programů
Osnova
  • 1. Úvod do OOP, třída, objekt, metoda. 2. Reference na objekt, přetěžování funkcí, konstruktory. 3. Přetěžování operátorů, copy konstruktor a operator =, new a delete. 4. Destruktory, chytré řetězce - I. část. 5. Chytré řetězce - II. část. 6. Dědičnost, polymorfizmus - motivace. 7. Virtuální funkce, abstraktní třídy. 8. Prostory jmen, streamy. 9. Práce se soubory pomocí steamů, šablony. 10. STL kontejnery, iterátory a algoritmy. 11. Třída string, výjimky. 12. Zopakování klíčových pasáží.
Literatura
    povinná literatura
  • Virius, M.: Programování v C++ od základů k profesionálnímu použití, Praha: Grada Publishing, 2018, ISBN:978-80-271-0502-1
  • Prata, S.: Mistrovství v C++. Computer Press, 2013, 978-80-251-3828-1
  • Miroslav Virius: Programování v C++
  • Miroslav Virius: Pasti a propasti jazyka C++
  • Miroslav Virius: Od C k C++
    doporučená literatura
  • Que: ANSI/ISO C++ Professional Programmer's Handbook
  • Chroboczek, M.: Uživatelská rozhraní v Qt a C++, Computer Press, 2013. 978-80-251-4124-3
  • Bjarne Stroustrup: The C++ Programming Language
  • Herb Sutter: Exceptional C++, More Exceptional C++
  • Bruce Eckel: Myslíme v jazyku C++
  • ISO/IEC 14882, ANSI: Programming languages - C++ (1998, 2003)
  • Scott Meyers: Effective C++, More Effective C++, Effective STL
  • James O. Coplien: Advanced C++ Programming Styles and Idioms
Výukové metody
Výuka probíhá formou přednášek a cvičení. Znalostí získané z přednášek se prakticky využívají při programování v Microsoft Visual Studiu.
Metody hodnocení
Na zisk zápočtu v prezenční formě studia je třeba účast na cvičeních alespoň 75 % a odevzdat zdrojové kódy (1500+ rádek). Na zisk zápočtu v kombinované formě studiu je třeba účast odevzdat zdrojové kódy (1500+ řádků). Zkouška probíhá diskuze nad studentem naprogramovanými zdrojovými kódy (1500+ řádek).
Informace učitele
Pro úspěšné absolvování předmětu je potřebná pokročilá znalost programování v C, ukazatelů a datových struktur.
Další komentáře
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 2007, léto 2008, zima 2008, léto 2009, léto 2010, léto 2011, zima 2011, léto 2012, zima 2012, léto 2013, léto 2014, léto 2015, léto 2016, léto 2017, léto 2018, léto 2019, léto 2021, léto 2022, léto 2023, léto 2024, léto 2025.