FI:PB161 Programování v jazyce C++ - Informace o předmětu
PB161 Programování v jazyce C++
Fakulta informatikyjaro 2024
- Rozsah
- 2/2/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
- Vyučující
- RNDr. Nikola Beneš, Ph.D. (přednášející)
RNDr. Petr Ročkai, Ph.D. (přednášející)
Bc. Matej Focko (cvičící)
Bc. Petr Kubica (cvičící)
Mgr. Jan Tušil (cvičící)
Bc. Vladimír Uhlík (cvičící)
Mgr. František Bráblík (pomocník)
Bc. Miroslav Gáll (pomocník)
Tomáš Pavlík (pomocník)
Bc. Tomáš Rohlínek (pomocník)
Bc. Jindřich Sedláček (pomocník)
Ján Václav (pomocník)
RNDr. Martin Jonáš, Ph.D. (pomocník)
Mgr. Lukáš Korenčik (pomocník)
Mgr. Adam Matoušek (pomocník) - Garance
- RNDr. Nikola Beneš, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- Út 12:00–13:50 D2
- Rozvrh seminárních/paralelních skupin:
PB161/02: Pá 12:00–13:50 A219, M. Focko
PB161/03: Út 18:00–19:50 A219, V. Uhlík
PB161/04: St 14:00–15:50 A219, P. Kubica - Předpoklady
- PB006 Principy progr. jazyků a OOP
Základní znalost programování a algoritmizace (v rozsahu předmětů IB111, IB002), nízkoúrovňového programování (PB071), principů programovacích jazyků a OOP (v rozsahu předmětu PB006). Současně se předpokládá znalost operačního systému Unix nebo podobného na uživatelské úrovni, neboť odevzdání domácích úloh probíhá pod Unixem. - Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 60 stud.
Momentální stav registrace a zápisu: zapsáno: 63/60, pouze zareg.: 0/60, pouze zareg. s předností (mateřské obory): 0/60 - Mateřské obory/plány
- Analýza a zpracování obrazu (program FI, N-VIZ)
- Aplikovaná informatika (program FI, B-AP)
- Bioinformatika a systémová biologie (program FI, N-UIZD)
- Bioinformatika (program FI, B-AP)
- Computer Games Development (program FI, N-VIZ_A)
- Computer Graphics and Visualisation (program FI, N-VIZ_A)
- Computer Networks and Communications (program FI, N-PSKB_A)
- Cybersecurity Management (program FI, N-RSSS_A)
- Diskrétní algoritmy a modely (program FI, N-TEI)
- Formální analýza počítačových systémů (program FI, N-TEI)
- Grafický design (program FI, N-VIZ)
- Graphic Design (program FI, N-VIZ_A)
- Hardware Systems (program FI, N-PSKB_A)
- Hardwarové systémy (program FI, N-PSKB)
- Image Processing and Analysis (program FI, N-VIZ_A)
- Informační bezpečnost (program FI, N-PSKB)
- Informatika a druhý obor (program FI, B-BI)
- Informatika a druhý obor (program FI, B-EB)
- Informatika a druhý obor (program FI, B-FY)
- Informatika a druhý obor (program FI, B-GE)
- Informatika a druhý obor (program FI, B-GK)
- Informatika a druhý obor (program FI, B-CH)
- Informatika a druhý obor (program FI, B-IO)
- Informatika a druhý obor (program FI, B-MA)
- Informatika a druhý obor (program FI, B-TV)
- Informatika (program FI, B-INF) (2)
- Informatika ve veřejné správě (program FI, B-AP)
- Informatika ve vzdělávání (program FI, B-IVV) (2)
- Information Security (program FI, N-PSKB_A)
- Kvantové a jiné neklasické výpočetní modely (program FI, N-TEI)
- Matematická informatika (program FI, B-IN)
- Matematika pro víceoborové studium (program PřF, B-MA)
- Matematika s informatikou (program PřF, N-MA)
- Obecná matematika (program PřF, B-MA)
- Paralelní a distribuované systémy (program FI, B-IN)
- Počítačová grafika a vizualizace (program FI, N-VIZ)
- Počítačová grafika a zpracování obrazu (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, N-PSKB)
- Počítačové systémy a zpracování dat (program FI, B-IN)
- Podniková informatika (program ESF, B-POIN)
- Podniková informatika (program ESF, B-SI)
- Principy programovacích jazyků (program FI, N-TEI)
- Profesní matematika (program PřF, B-MA)
- Programování a vývoj aplikací (program FI, B-PVA)
- Programovatelné technické struktury (program FI, B-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Řízení kyberbezpečnosti (program FI, N-RSSS)
- Řízení vývoje služeb (program FI, N-RSSS)
- Řízení vývoje softwarových systémů (program FI, N-RSSS)
- Services Development Management (program FI, N-RSSS_A)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Sociální informatika (program FI, B-AP)
- Software Systems Development Management (program FI, N-RSSS_A)
- Software Systems (program FI, N-PSKB_A)
- Softwarové systémy (program FI, N-PSKB)
- Strojové učení a umělá inteligence (program FI, N-UIZD)
- Učitel informatiky a správce sítě (program FI, N-UCI)
- Učitelství informatiky pro střední školy (program FI, N-UCI) (2)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, B-IN)
- Vývoj počítačových her (program FI, N-VIZ)
- Zpracování a analýza rozsáhlých dat (program FI, N-UIZD)
- Zpracování přirozeného jazyka (program FI, N-UIZD)
- Cíle předmětu
- Cíli předmětu je seznámit studenty se základy programovacího jazyka C++ podle standardu C++20. Předmět se zaměřuje na sémantiku jazyka včetně principu RAII pro správu zdrojů, definici uživatelských typů (tříd), základy práce se standardní knihovnou.
- Výstupy z učení
- Po absolvování tohoto kurzu bude student schopen:
- psát jednoduché programy v jazyce C++ s použitím prostředků moderního C++ (podle standardu C++20);
- používat na základní úrovni standardní knihovnu jazyka C++;
- vytvářet složené datové typy (třídy) v jazyce C++;
- rozumět hodnotové sématice C++ a vysvětlit rozdíl proti sémantikám jiných populárních jazyků;
- rozumět principům správy zdrojů (vč. správy paměti) v jazyce C++;
- rozumět realizaci principů objektově orientovaného programování v C++;
- efektivně a vhodně používat při programování výjimky;
- při programování dodržovat dobré programátorské návyky. - Osnova
- Základní syntaxe a sémantika C++, hodnotová sémantika, reference, const.
- Složené hodnoty a typy, záznamy (struct), základní složené typy ve standardní knihovně.
- Rozšíření typu o metody a operátory, přetěžování.
- Životní cyklus hodnoty, vlastnictví, konstruktory, destruktory.
- Ukazatele obyčejné i „chytré“, koncept vlastnictví skrz ukazatel.
- Dědičnost, pozdní vazba, OOP polymorfismus, virtuální destruktory.
- Obsluha výjimek, princip RAII, správa zdrojů.
- Lexikální uzávěry („lambda funkce“).
- Součtové typy ve standardní knihovně.
- Algoritmy klasické i nové (část knihovny „ranges“).
- Práce s řetězci.
- Formátování, vstup a výstup.
- Literatura
- STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
- VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
- VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
- VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
- LOUIS, Dirk, Petr MEJZLÍK a Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
- MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
- Záložky
- https://is.muni.cz/ln/tag/FI:PB161!
- Výukové metody
- Výuka probíhá formou kombinace teoretických přednáškových lekcí s praktickými cvičeními, doplněnými samostatnými domácími programátorskými úlohami procvičujícími probranou látku z přednášek.
- Metody hodnocení
- Domácí úlohy v průběhu semestru, tři vnitrosemestrální programovací testy, programovací zkouška.
- Navazující předměty
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně. - Nachází se v prerekvizitách jiných předmětů
- IB113 Úvod do programování a algoritmizace
!NOW(IB111) && !IB111 && !PB162 && !PB161 && !PB071 && !IB001 && !program(B-INF) && !program(B-PVA) && !program(B-CS) - PB007 Software Engineering I
PB160 || PB161 || PB162 || PB174 || PV178 || PB112 - PV255 Game Development I
PB009 && PV112 && (PB161 || PB162 || PV178) - PV294 Advanced C++
PB161
- IB113 Úvod do programování a algoritmizace
- Statistika zápisu (jaro 2024, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2024/PB161