FI:PB161 Programování v jazyce C++ - Informace o předmětu
PB161 Programování v jazyce C++
Fakulta informatikypodzim 2017
- Rozsah
- 2/2/0. 4 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í)
Mgr. Tomáš Brukner (pomocník)
RNDr. Marek Chalupa, Ph.D. (pomocník)
Mgr. Katarína Kejstová (pomocník)
Mgr. Roman Lacko (cvičící)
RNDr. Jan Mrázek (pomocník)
RNDr. Lukáš Ručka (cvičící)
Mgr. Peter Stanko (cvičící)
RNDr. Vladimír Štill, Ph.D. (pomocník)
Mgr. Jan Tušil (cvičící)
Mgr. Jiří Weiser (pomocník)
Bc. Maroš Beťko (cvičící)
Bc. Miroslav Cambel (cvičící)
Bc. Dominik Gmiterko (pomocník)
Bc. Roman Hajdúk (cvičící)
Mgr. Matej Hulín (pomocník)
Mgr. Lukáš Korenčik (cvičící)
Mgr. Áron Samuel Kovács (pomocník)
Mgr. Adam Matoušek (pomocník)
Mgr. Peter Navrátil (cvičící)
Mgr. Matúš Talčík (pomocník)
Mgr. Jan Plhák (pomocník)
Mgr. Michal Mikloš (pomocník)
RNDr. Jiří Glozar (cvičící) - Garance
- doc. RNDr. Eva Hladká, 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
- Po 8:00–9:50 D3
- Rozvrh seminárních/paralelních skupin:
PB161/01: St 18:00–19:50 B130, R. Lacko, P. Navrátil
PB161/02: Út 10:00–11:50 B130, L. Korenčik, J. Tušil
PB161/03: Út 12:00–13:50 B130, R. Hajdúk, J. Tušil
PB161/04: St 10:00–11:50 B130, M. Beťko, R. Lacko
PB161/05: Čt 16:00–17:50 B117, Čt 16:00–17:50 B116, M. Cambel, P. Stanko - Předpoklady
- PB071 Principy nízkoúr. prog. || SOUHLAS
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.
- Mateřské obory/plány
- Aplikovaná informatika (program FI, B-AP)
- Bioinformatika (program FI, B-AP)
- 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 ve veřejné správě (program FI, B-AP)
- 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 zpracování obrazu (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, B-IN)
- Počítačové systémy a zpracování dat (program FI, B-IN)
- Podniková informatika (program ESF, B-SI)
- Profesní matematika (program PřF, B-MA)
- Programovatelné technické struktury (program FI, B-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Sociální informatika (program FI, B-AP)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, B-IN)
- Cíle předmětu
- Cíli předmětu je seznámit studenty s programovacím jazykem C++ podle normy C++14 a principy objektově orientovaného programování (tak, jak jsou v C++ implementovány). Předmět se zaměřuje se zejména na práci se standardní knihovnou, efektivní návrh vlastních datových typů (tříd), principy správy zdrojů a základní principy objektově-orientovaného návrhu.
- Výstupy z učení
- Po absolvování tohoto kurzu bude student schopen:
- psát programy v jazyce C++ s použitím prostředků moderního C++ (podle normy C++14);
- používat podstatnou část standardní knihovny 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 principům objektově orientovaného programování;
- schopen základního objektově orientovaného návrhu a jeho implementace;
- efektivně a vhodně používat při programování výjimky;
- schopen na základní úrovni používat moderní vývojové nástroje (IDE, debugger, verzovací nástroje, nástroje pro automatizaci překladu, základy testování...);
- při programování dodržovat dobré programátorské návyky. - Osnova
- Základní prvky jazyka C++ (s přihlédnutím k C), standardy, kompilátory.
- Hodnotová a referenční sémantika C++.
- Základní principy objektově orientovaného programování a metodologie.
- Uživatelsky definované typy. Třídy v C++. Komponenty třídy.
- OOP in C++. Zapouzdření, dedičnost, polymorfismus.
- Dynamická alokace paměti. Dynamická správa paměti. Automatické a třídní ukazatele.
- Vstup a výstup v C++.
- Výjimky a jejich ošetření. Defensivní programování.
- Šablony. Standardní knihovna C++ a standardní knihovna šablon. Knihovny pro numerické výpočty.
- Objetově orientovaný návrh, návrhové vzory.
- Další objektově orientované jazyky. Java a C# ve srovnání s C++.
- 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, vnitrosemestrální test, zápočtový programovací příklad. Doporučeným ukončením je zkouška, která probíhá formou testu.
- Navazující předměty
- Informace učitele
- https://www.fi.muni.cz/pb161/
Přednášejícího můžete kontaktovat osobně v místnosti B421 v konzultačních hodinách nebo e-mailem na adrese xbenes3@fi.muni.cz Pokud nemáte absolvován předmět PB071 (prerekvizita), máte možnost získat výjimku na základě úspěšného vypracování srovnávacího testu (zhruba na úrovni závěrečné zkouškové písemky PB071). Test proběhne v prvním týdnu semestru. Přesné informace o jeho konání (čas, místo) budou oznámeny mailem zhruba týden před začátkem semestru. - 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 (podzim 2017, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2017/PB161