460-2072/02 – Programování v C++ II (C++ II)

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íPovinnostvolitelný odborný
Ročník3Semestrzimní
Jazyk výukyanglič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.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Klasifikovaný zápočet 1+3

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

Předmět si klade za cíl podrobněji seznámit posluchače s jazykem C++ v jeho nejnovější podobě. Navazuje na předmět Programování v C++ I s tím, že se jej snaží rozšířit o nové poznatky a zaměřit se především na praktickou část, tedy řešení konkrétních úloh s využitím jazyka C++. Znalosti a dovednosti: - jazyk C++ od standardu C++11 výše - využití konstrukcí jazyka k řešení konkrétních úloh - znalost konstrukce komplexních datových typů - tvorba aplikace s ohledem na cílovou platformu - optimalizace kódu - efektivita využití paměťových prostředků - propojení s nástroji či API třetích stran 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 kurz „Programování v C++ I“ a je vyžadováno, aby měli studenti tento předmět již úspěšně dokončen. Na rozdíl pro předešlého předmětu, tento se zaměřuje více na programování konkrétních úloh, případových studií.

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.

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

Kód předmětuZkratkaNázevPovinnost
460-2068 C++ I Programování v C++ I 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: - template funkce a datové typy - triky pro optimalizaci běhu programu - práce s vlákny - lambda výrazy - binární masky, enumerátory - metaprogramování, type predicates, traits - případová studie: konstrukce vlastní třídy pro práci s dynamickou pamětí, move konstrukce a související operátory, definování vlastních iterátorů, range iterátor - případová studie: variadické funkce - případová studie: propojení c++ s dalšími nástroji (MATLAB, R, nodeJS) - případová studie: vybrané příklady z programování (ACM-ICPC) Obsah cvičení bude korespondovat vždy s danou přednáškou a tématem: 1. Vytváření template metod a tříd 2. Možné optimalizace běhu programu 3. Vlákna a jejich využití 4. Lambda výrazy 5. Binární masky, enumerátory 6. Metaprogramování, type predicates, traits 7.-8. Případová studie: dynamická alokace paměti, move konstrukce a související operátory, definování vlastních iterátorů, range iterátor 9.-10. Případová studie: variadické funkce 11.-12. Případová studie: Propojení c++ s dalšími nástroji (MATLAB, R, nodeJS) 13.-14. Případová studie: vybrané příklady z programování (ACM-ICPC)

Podmínky absolvování předmětu

Prezenční forma (platnost od: 2019/2020 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
Klasifikovaný zápočet Klasifikovaný zápočet 100  51 3
Rozsah povinné účasti: Student musí splnit všechny definované úlohy alespoň za minimální počet bodů.

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP: Splnění všech povinných úkolů v individuálně dohodnutých termínech.

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2024/2025 (B0613A140010) Informatika P angličtina Ostrava 3 volitelný odborný stu. plán
2023/2024 (B0613A140010) Informatika P angličtina Ostrava 3 volitelný odborný stu. plán
2023/2024 (B0541A170009) Výpočetní a aplikovaná matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2022/2023 (B0613A140010) Informatika P angličtina Ostrava 3 volitelný odborný stu. plán
2022/2023 (B0541A170009) Výpočetní a aplikovaná matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2021/2022 (B0613A140010) Informatika P angličtina Ostrava 3 volitelný odborný stu. plán
2021/2022 (B0541A170009) Výpočetní a aplikovaná matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2020/2021 (B0613A140010) Informatika P angličtina Ostrava 3 volitelný odborný stu. plán
2020/2021 (B0541A170009) Výpočetní a aplikovaná matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2019/2020 (B0613A140010) Informatika P angličtina Ostrava 3 volitelný odborný stu. plán
2019/2020 (B0541A170009) Výpočetní a aplikovaná matematika P angličtina Ostrava 3 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í.