FPF:UIBUC18 Object-oriented Programming I - Course Information
UIBUC18 Object-oriented Programming I (C++)
Faculty of Philosophy and Science in OpavaSummer 2012
- Extent and Intensity
- 0/2/0. 3 credit(s). Type of Completion: z (credit).
- Teacher(s)
- Mgr. Michal Jašek (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
- Computer science in combination with another discipline (programme FPF, B1803 InDO)
- Computer science in combination with another discipline (programme FPF, B6107 HuSt)
- 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.
- 1. Historické návaznosti jazyka C++, zejména jeho vztah k jazyku C. Standardy C a C++.
- 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.
- Enrolment Statistics (Summer 2012, recent)
- Permalink: https://is.slu.cz/course/fpf/summer2012/UIBUC18