NPRG041: Programování v C++
Základní informace
Plán cvičení
- Pátek 30. 09. 2022: 01 - Podmnožiny - organizační informace, funkce main, standardní výstup, dekompozice programu, klasické pole
- Pátek 07. 10. 2022: 02 - Argumenty I - hlavičkové soubory, argumenty programu, řetězce, kontejner vector, předávání parametrů
- Pátek 14. 10. 2022: 03 - Argumenty II - parsování čísel, funkce stoi a stof, zpracování výjimek, struktura struct
- Pátek 21. 10. 2022: 04 - Počítadlo - streamy, práce se soubory, funkce getline, třídy se statickými metodami, konstanty, klasické ukazatele
- Pátek 28. 10. 2022: Zrušeno (Den vzniku samostatného československého státu)
- Pátek 04. 11. 2022: 05 - Databáze I - stringstream, konstruktory, inicializátory, inline funkce, rvalue reference, funkce move a emplace, kontejner set
- Pátek 11. 11. 2022: 06 - Výrazy I - třídy s dědičností, virtuální a čistě virtuální funkce, enumerační třídy, dynamická alokace
- Pátek 18. 11. 2022: 07 - Výrazy II - polymorfní kontejner, kontejner stack, algoritmus shunting-yard
- Pátek 25. 11. 2022: 08 - Databáze II - kontejner set, vlastní porovnávací a streamové operátory, chytré sdílené ukazatele, dynamické přetypování
- Pátek 02. 12. 2022: 09 - Databáze III - kontejnery map, multimap, unordered_multimap, algoritmy pro práci s kontejnery, funktory, lambda výrazy
- Pátek 09. 12. 2022: 10 - Matice - šablony tříd a funkcí, kontejner array, vlastní aritmetické operátory a operátory indexace, konstrukce const_cast
- Pátek 16. 12. 2022: 11 - Pole I - vlastní kontejner gumového pole, chytré unikátní ukazatele, výjimky
Pátek 06. 01. 2023 Pátek 16. 12. 2022 (14:00 resp. 15:40): 12 - Pole II - copy a move konstruktory a operátory přiřazení, vlastní iterátory, vlastní jmenné prostory
- Samostudium: Pole III - dokumentace Doxygen
Důležité termíny
- Neděle 27. 11. 2022: odevzdání prvního velkého úkolu
- Pátek 16. 12. 2022: nahlášení tématu zápočtového programu
- Neděle 15. 01. 2023: odevzdání druhého velkého úkolu
- Neděle 30. 04. 2023: nejpozdější termín na odevzdání hotového zápočtového programu
- Středa 31. 05. 2023: nejpozdější termín na případné úpravy zápočtového programu
Malé úkoly
- Čtvrtek 06. 10. 2022: C01 - Podmnožiny - Zadání
- Čtvrtek 13. 10. 2022: C02 - Argumenty I - Zadání
- Čtvrtek 20. 10. 2022: C03 - Argumenty II - Zadání
- Čtvrtek 27. 10. 2022: C04 - Počítadlo - Zadání
- Čtvrtek 10. 11. 2022: C05 - Databáze I - Zadání
- Čtvrtek 17. 11. 2022: C06 - Výrazy I - Zadání
- Čtvrtek 24. 11. 2022: C07 - Výrazy II - Zadání
- Čtvrtek 01. 12. 2022: C08 - Databáze II - Zadání
- Čtvrtek 08. 12. 2022: C09 - Databáze III - Zadání
- Čtvrtek 15. 12. 2022: C10 - Matice - Zadání
- Čtvrtek 22. 12. 2022: C11 - Pole I - Zadání
- Čtvrtek 12. 01. 2023: C12 - Pole II - Zadání
Velké úkoly
- A01 - Regulární výrazy
- Zadání: PDF
- Termín: neděle 27. 11. 2022
- Hodnocení: 15 bodů
- Zpoždění: penalizace 5 bodů za každý započatý týden zpoždění
- A02 - Grafy
- Zadání: PDF
- Termín: neděle 15. 1. 2023
- Hodnocení: 25 bodů
- Zpoždění: penalizace 10 bodů za každý započatý týden zpoždění
Formální podmínky
- Pro udělení zápočtu je nutné splnit všechny následující podmínky
- Aktivní účast a docházka na alespoň 9 cvičeních
- Včasné a správné vypracování alespoň 9 malých úkolů
- Odevzdání obou plně funkčních velkých úkolů
- Získání alespoň 35 bodů za velké úkoly a zkouškový test
- Vypracování a předvedení vyhovujícího zápočtového programu