460-2068/03 – Programování v C++ I (C++ I)

Garantující katedraKatedra informatikyKredity4
Garant předmětudoc. Ing. Petr Gajdoš, Ph.D.Garant verze předmětudoc. Ing. Petr Gajdoš, Ph.D.
Úroveň studiapregraduální nebo graduální
Jazyk výukyčeština
Rok zavedení2019/2020Rok zrušení
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
GAJ03 doc. Ing. Petr Gajdoš, Ph.D.
PET0342 Ing. Filip Peterek
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Klasifikovaný zápočet 0+2
kombinovaná Klasifikovaný zápočet 0+14

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

https://vsb.sharepoint.com/:f:/r/sites/CPPI/Class%20Materials/Lecture%20Notes?csf=1&web=1&e=6rV08Z

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

Kód předmětuZkratkaNázevPovinnost
460-2052 UPR Úvod do programování Povinná
460-2055 OOP Objektově orientované programování Povinná

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

Podmínky absolvování jsou definovány pouze pro konkrétní verzi předmětu a formu studia

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2026/2027 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku

Hodnocení Výuky

Předmět neobsahuje žádné hodnocení.