460-2068/01 – Programování v C++ I (C++ I)
Garantující katedra | Katedra informatiky | Kredity | 4 |
Garant předmětu | doc. Ing. Petr Gajdoš, Ph.D. | Garant verze předmětu | doc. Ing. Petr Gajdoš, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | volitelný odborný |
Ročník | 2 | Semestr | letní |
| | Jazyk výuky | čeština |
Rok zavedení | 2019/2020 | Rok zrušení | |
Určeno pro fakulty | FEI | Určeno pro typy studia | bakalářské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Předmět si klade za cíl blíže seznámit posluchače s jazykem C++ v jeho nejnovější podobě, a to na takové úrovni, aby porozuměli základním i pokročilým konstrukcím jazyka, běhovému prostředí a byli schopni samostatně vytvářet komplexnější aplikace v tomto jazyce.
Znalosti a dovednosti:
- jazyk C++ od standardu C++11 výše
- principy OOP promítnuté do jazyka C++
- základní znalost "Standard Library (STL)" a užitečných tříd
- porozumnění komplexnějším konstrukcím
- znalost vybraného vývojového prostředí
- tvorba konzolové aplikace
- konstrukce vlastních tříd s požadovanou funkcionalitou
Po absolvování kurzy by měl posluchač umět navrhnout a implementovat řešení problému s ohledem na znalost objektově orientovaného programování s využitím nejnovějších možností jazyka C++.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Anotace
Posluchači si prohloubí znalosti objektově orientovaného programování s ohledem na využití jazyka C++, který se řadí mezi nejpoužívanější jazyky současnosti. Kurz navazuje na kurzy „Úvod do programování“ a „Objektově orientované programování“ a je vyžadováno, aby měli studenti tyto předměty
již úspěšně dokončeny.
Povinná literatura:
[1] Stroustrup, Bjarne. The C++ programming language. Upper Saddle River, NJ: Addison-Wesley, 2013. Print.
[2] Bancila, Marius. Modern C++ programming cookbook : over 100 recipes to help you overcome your difficulties with C++ programming and gain deeper understanding of the working of modern C. Birmingham, UK: Packt Publishing, 2017. Print.
Doporučená literatura:
[1] Galowicz, Jacek. C++17 STL Cookbook. Birmingham: Packt Publishing, 2017. Print.
[2] Savitch, Walter J., and Kenrick Mock. Problem solving with C++. 9th Edition, Boston: Pearson, 2015. Print.
Další studijní materiály
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Průběžná kontrola studijních aktivit a přiřazených úkolů v rámci pravidelných seminářů.
Předmět 460-2072/01 Programování v C++ II má jako povinnou prerekvizitu předmět 460-2068/01 Programování v C++ I.
E-learning
Další požadavky na studenta
Očekává se, že studenti budou na lekcích z programování aktivně řešit zadané úlohy. Některé úlohy mohou vyžadovat pečlivou domácí přípravu.
Prerekvizity
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
Přednášky budou sloužit jako vstupní bod pro cvičení. Kladou si za cíl uvést posluchače do problematiky a nastínit následnou práci na cvičeních.
Přednášky budou zahrnovat přinejmenším tato témata:
- typový systém, od základních datových typů po objektové, typové konverze
- práce s pointery a referencemi, základní princip tzv. „smart pointers“
- kontrola běhu programu
- operátory, jejich přetěžování
- principy OOP promítnuté do jazyka C++
- standard library:
-- systém výjimek
-- iterátory a jejich typy
-- práce se soubory
-- tvorba konzolové aplikace
-- další vybrané třídy z STL
Témata cvičení budou navazovat na přednášky, které rozšíří v praktické rovině programování.
- Základní datové typy, struct, union
- Možnosti alokace paměti, pointery, reference, smart pointers
- Kontrola běhu programu
- Operátory, jejich přetěžování, bitové operátory a jejich využití
- Principy OOP promítnuté do jazyka C++
- Obeznámení se se standardní knihovnou a konceptem jejich tříd
- Výjimky a jejich využití
- Konstrukce různých typů iterátorů a jejich využití
- Práce s textovými a binárními soubory
- Případová studie: Tvorba komplexnější konzolové aplikace - zpracování dat
- Další vybrané třídy z STL
- Ověření znalostí
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky