UIBUC18 Object-oriented Programming I (C++)

Faculty of Philosophy and Science in Opava
Winter 2012
Extent and Intensity
0/2/0. 3 credit(s). Type of Completion: z (credit).
Teacher(s)
RNDr. Miroslav Langer, Ph.D. (seminar tutor)
Mgr. Bc. Tomáš Wagner (seminar tutor)
Guaranteed by
doc. RNDr. Lucie Ciencialová, Ph.D.
Institute of Computer Science – Faculty of Philosophy and Science in Opava
Prerequisites (in Czech)
UIBUC02 Algorithms and Programming I || UIKKB09 Algorithms and Programming I || UIKSB12 Algorithms and Programming I || UINK102 Algorithms and Programming I || UINK112 Algorithms and Programming I ( || UIN1002 Algorithms and Programming I || UIN1012 Procedural Programming (the C
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
Course objectives (in Czech)
Základy objektového programování v jazyce C++. Student se seznámí s pojmy: třídy a jejich komponenty - data a metody, konstruktor, destruktor, zapouzdření, dědičnost, polymorfismus. Součástí náplně předmětujsou i zásady bezpečného programování a použití vyjímek. V poslední řadě se student seznámí s šablonami, jejich význame v C++, knihovny pro numerické výpočty a vývojem aplikací s využitím open-source knihoven (aplikace s GUI - knihovny QT; vývojové nástroje - QT designer; možnosti kompilace na různých platformách).
Syllabus (in Czech)
  • 1. Historické návaznosti jazyka C++, zejména jeho vztah k jazyku C. Standardy C a C++.
    2. Společné a rozdílné prvky jazyků C a C++ (1): datové typy, konstanty, deklarace, výrazy, přiřazovací výrazy a příkazy; základní struktura programu; komentáře; příkazy preprocesoru; relační výrazy a řídicí struktury; vhodný styl psaní programů.
    3. Společné a rozdílné prvky jazyků C a C++ (2): textové řetězce ve stylu C a ve stylu C++; pole, ukazatele a odkazy; funkce.
    4. Standardní knihovna jazyka C++, standardní knihovna šablon.
    5. Základní pojmy OOP: třídy, jejich komponenty - data a metody. Zásady OOP - zapouzdření, datová abstrakce, dědičnost, polymorfismus. Více o deklaracích v C a C++ - paměťové třídy, oblast platnosti jmen, modifikátory). Uživatelské typy (enum, struct, union). Deklarace typedef.
    6. Třídy: Definice tříd (členské proměnné, metody, konstruktory a destruktory); dědičnost tříd (dědění přístupových práv, konflikt jmen, normální a virtuální dědění, konstruktory, destruktory a dědičnost).
    7. Polymorfismus - časná a pozdní vazba. Abstraktní třídy a čistě virtuální metody. Statické atributy a metody.
    8. Přetypování objektů - přetypovací operátory z C, přetypovací konstruktory, nové přetypovací operátory C++, přetypování objektových typů, operátor typeid.
    9. Dynamická alokace paměti. Automatické ukazatele. Třídní ukazatele. Prostory jmen (deklarace a použití, anonymní prostory jmen, standardní prostor jmen, zpřístupnění prostoru jmen, prostory jmen a operátory).
    10. Vstup a výstup v C++. Srovnání se V/V v jazyce C.
    11. Bezpečné programování. Defenzivní programování. (Zásady. Céčkovské "skrčky". Bezpečné konstruktory. Explicitní konstruktory.) Výjimky (Pokusný blok a handlery. Vyvolání výjimky. Zachycení výjimky. Standardní typy výjimek. Výjimky a funkce. Výjimky v konstruktorech a destruktorech. Výjimky v handlerech. Výjimky a alokace paměti. Neošetřené a neočekávané výjimky. Výjimky: pro a proti. Strukturované výjimky.)
    12. Šablony, jejich význam v C++, Knihovny pro numerické výpočty. Vývoj aplikací s využitím open-source knihoven. Aplikace s GUI - knihovny QT. Vývojové nástroje - QT designer, RHIDE. Speciální knihovny Messa, GLUT, OpenGL. Zásady správného vývoje platformově nezávislých aplikací. Možnosti kompilace na různých platformách.
Literature
    recommended literature
  • Miroslav Virius. 1001 tipů a triků pro C++. Computer Press, 2011. ISBN 978-80-251-2941-8. info
  • Jesse Liberty, Bradley L. Jones. Naučte se C++ za 21 dní. Computer Press, 2007. ISBN 978-80-251-1583-1. info
  • Daniel Molkentin. The Book of Qt 4. No Starch Press, 2007. info
  • Šaloun, Petr. Programovací jazyk C++ pro zelenáče. NEOKORTEX s.r.o., 2005. ISBN 80-86330-18-4. info
  • VIRIUS, M. Programování v C++. ČVUT Praha, 1998. ISBN 80-0101-874-1. info
Language of instruction
Czech
Further Comments
The course can also be completed outside the examination period.
The course is also listed under the following terms Summer 2011, Summer 2012, Winter 2013, Winter 2014, Winter 2015, Winter 2016, Winter 2017, Winter 2018, Winter 2019, Winter 2020, Winter 2021.
  • Enrolment Statistics (Winter 2012, recent)
  • Permalink: https://is.slu.cz/course/fpf/winter2012/UIBUC18