PB161 Programování v jazyce C++

Fakulta informatiky
podzim 2010
Rozsah
2/2. 4 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
Vyučující
doc. RNDr. Petr Švenda, Ph.D. (přednášející)
RNDr. Šimon Tóth (přednášející)
Mgr. Ondřej Bouda (cvičící)
Martin Hradil (cvičící)
Mgr. Jan Juráň (cvičící)
Mgr. Vít Klouček (cvičící)
RNDr. Ondřej Strnad, Ph.D. (cvičící)
Bc. Martin Vlach (cvičící)
Garance
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Po 14:00–15:50 D3
  • Rozvrh seminárních/paralelních skupin:
PB161/01: Út 18:00–19:50 B117, M. Hradil
PB161/02: St 12:00–13:50 B117, O. Bouda
PB161/03: St 16:00–17:50 B117, V. Klouček
PB161/04: Čt 8:00–9:50 B116, P. Švenda
PB161/05: Čt 18:00–19:50 B117, M. Vlach
PB161/06: Pá 8:00–9:50 B116, J. Juráň
PB161/07: Čt 18:00–19:50 A104, O. Strnad
PB161/08: St 14:00–15:50 B311, O. Bouda
PB161/09: Čt 18:00–19:50 B130, J. Juráň, Š. Tóth
PB161/10: Út 18:00–19:50 B130, Š. Tóth
PB161/11: Pá 10:00–11:50 B130, Š. Tóth
PB161/12: Pá 12:00–13:50 B117, P. Švenda
PB161/13: Út 14:00–15:50 B130, Š. Tóth
PB161/14: Čt 17:00–17:50 B116, O. Strnad
PB161/15: Út 9:00–9:50 B116, M. Vlach
PB161/16: Pá 8:00–9:50 B130, Š. Tóth
Předpoklady
U studentů se předpokládá znalost programování v jazyce C v rozsahu předmětu PB071. Současně se předpokládá znalost operačního systému Unix na uživatelské úrovni, neboť odevzdání domácích úloh a tvorba příkladu ke zkoušce 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
Cíle předmětu
Na konci tohoto kurzu bude student:
rozumět principům objektově orientovaného programování;
schopen základního objektově orientovaného návrhu a jeho implementace;
ovládat základní syntaxi jazyka C++ podle ANSI normy;
používat základní knihovny jazyka C++ (STL);
dokumentovat kód s možností automatického generování dokumentace;
schopen na základní úrovni používat moderní vývojové nástroje (IDE, debugger, verzovací nástroje...);
ovládat základní dobré programátorské návyky;
překládat programy pod OS typu Unix i Windows;
Osnova
  • Základní prvky jazyka C++ (s přihlédnutím k C), standardy, kompilátory.
  • 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í
Ve cvičeních studenti samostatně vytvářejí zadané programy (obvykle s nutností dokončit doma nebo v počítačové učebně). Zpracování příkladů je bodováno podle předem oznámených kritérií. Doporučené ukončení předmětu je zkouška, která probíhá formou testu prováděného na počítači. Podmínkou připuštění k testu je získání zápočtu ze cvičení a samostatné úspěšné zpracování závěrečného příkladu. Klasifikace závisí na bodovém hodnocení práce ve cvičeních, kvalitě zpracovaného závěrečného příkladu a na výsledku testu.
V případě ukončení zápočtem stačí v patřičných termínech odevzdat řádně zpracované příklady zadávané v průběhu semestru. Závěrečný příklad ani test se u tohoto způsobu ukončení nevypracovává.
Účast ve cvičeních je povinná.
Informace učitele
Přednášejícího můžete kontaktovat osobně v místnosti B420 v konzultačních hodinách nebo e-mailem na adrese svenda@fi.muni.cz
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ů
Předmět je zařazen také v obdobích podzim 2002, podzim 2003, podzim 2004, podzim 2005, podzim 2006, podzim 2007, podzim 2008, podzim 2009, podzim 2011, podzim 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2016, podzim 2017, podzim 2018, podzim 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.