Programování 2, LS 2023/2024
Pondělí od 12:20, N8 (IMPAKT)Obsah cvičení
Zápočtový test – 20. 5.
- Zápočtový test.
Metodiky vývoje – 13. 5.
- Dořešení úlohy z minula.
- Metodiky vývoje – framework.
Těžké úlohy – 6. 5.
- Řešení těžkých úloh, zkoušková úloha (zadání).
Kreslení konstrukcí, unit testy – 29. 4.
- Kreslení konstrukcí – dokončení(ukázka pokročilejšího využití Properties).
- Unit testy, výjimky.
- Algoritmus příšery pro DÚ.
Agilní vývoj, kreslení konstrukcí – 22. 4.
Dynamické programování - pokročilé – 15. 4.
- Dynamické programování. Těžká úloha (poslanci).
Dynamické programování – 8. 4.
- Dynamické programování (úlohy).
Porovnávání typů, Pexeso – 25. 3.
- Porovnávání vlastních typů – dokončení. Na co nezapomenout.
- Pexeso – GUI pomocí WinForms, vodopádový model vývoje.
Refactoring, porovnávání typů – 18. 3.
- Refactoring Program.cs, naming conventions. Čtení vstupu ze souboru (kód viz Refactoring).
- Porovnávání vlastních typů Template.cs – na co nezapomenout.
Dekompozice, objekty – 11. 3.
- Dekompozice, objektový návrh. Objekty, dokumentační komentáře, knihovní datové struktury.
Programování v C# – 4. 3.
- Programování v C# (čtečka čísel), seznámení s Visual Studiem
- Cheat sheet
Úvodní informace – 19. 2.
- Úvodní informace
- Těžká úloha – pošta
Podmínky získání zápočtu
- 70 % bodů z domácích úkolů – zadávané každý týden, v ReCodExu
- zápočtový test – řešení programovací úlohy v ReCodExu; na posledním cvičení
- zápočtový program – specifikace do 20. 5. (poslední cvičení), odevzdání (včetně dokumentace) do 31. 8.
Zápočtový program
Zápočtový program je větší software, který naprogramujete doma během semestru, zkouškového nebo prázdnin. Téma si vymyslíte sami, jakmile jej budete mít rozmyšlené (nejpozději však do 20. 5.), sepište specifikaci – krátký (1–2 odstavce) popis tématu (tj. co váš program bude dělat) – a pošlete mi ji ke schválení.
Program se odevzdává skrz fakultní Gitlab, kde budete (později během semestru) mít připraven repozitář (https://gitlab.mff.cuni.cz/teaching/nprg031/2324-summer/student-LOGIN_DO_SISU), do kterého přidáte váš program. Součástí odevzdávaného programu musí být také dokumentace, která má tři hlavní části:
- Uživatelská část vysvětluje, jak se program ovládá. Povinnou součástí je informace, jak program spustit; jaké lze nastavit parametry; jaké má vstupní soubory; atd. V případě, že programujete hru nebo podobnou aplikaci, tak jakými klávesami se ovládá. Pokud program pracuje s nějakými soubory (jako vstup nebo výstup), popište jejich formát.
- Programátorská část popisuje, jak program uvnitř funguje. Nemá smysl detailně popisovat každou funkci nebo proměnnou (to udělejte alespoň pro ty nejdůležitější nebo složitější pomocí komentářů přímo v kódu), zaměřte se na celkový návrh programu a použité algoritmy.
- Ukázky použití, testovací data.
Vhodný způsob, jak psát dokumentaci je vytvořit si v repozitáři složku docs a v ní mít několik souborů ve formátu Markdown (.md). Do souboru README.md pak vložte rozcestník (odkazy) na jednotlivé části dokumentace. Dokumentaci můžete psát česky, slovensky, nebo anglicky.