460-2068/01 – 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íPovinnostvolitelný odborný
Ročník2Semestrletní
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í
BER0134 Ing. Jakub Beránek
DOL0133 Ing. Vít Doleží
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 1+3
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.

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-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 Obsah cvičení bude korespondovat vždy s danou přednáškou a tématem: 1. Základní datové typy, struct, union 2. Možnosti alokace paměti, pointery, reference, smart pointers 3. Kontrola běhu programu 4. Operátory, jejich přetěžování, bitové operátory a jejich využití 5. Principy OOP promítnuté do jazyka C++ 6. Obeznámení se se standardní knihovnou a konceptem jejich tříd 7. Výjimky a jejich využití 8. Konstrukce různých typů iterátorů a jejich využití 9. Práce s textovými a binárními soubory 10.-12. Případová studie: Tvorba komplexnější konzolové aplikace - zpracování dat 13. Další vybrané třídy z STL 14. Ověření znalostí

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

Prezenční forma (platnost od: 2023/2024 letní 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 (100) 51 3
        Projekt Projekt 40  21 1
        Domácí úkoly Jiný typ úlohy 60  11 1
Rozsah povinné účasti: Účast na cvičeních je povinná a je kontrolována. S rozsahem povinné účastí seznámí studenty garant předmětu na začátku semestru.

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. Rozsah účasti na cvičeních si student na začátku semestru dohodne s garantem předmětu.

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 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2024/2025 (B0613A140014) Informatika K čeština Ostrava 2 volitelný odborný stu. plán
2024/2025 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 2 volitelný odborný stu. plán
2024/2025 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 2 volitelný odborný stu. plán
2023/2024 (B0613A140014) Informatika K čeština Ostrava 2 volitelný odborný stu. plán
2023/2024 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2023/2024 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 2 volitelný odborný stu. plán
2023/2024 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 2 volitelný odborný stu. plán
2022/2023 (B0613A140014) Informatika K čeština Ostrava 2 volitelný odborný stu. plán
2022/2023 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2022/2023 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 2 volitelný odborný stu. plán
2022/2023 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0613A140014) Informatika K čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0613A140014) Informatika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0613A140014) Informatika K č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



2022/2023 letní
2021/2022 letní
2020/2021 letní