Domácí úlohy
Semestr obsahuje 8 domácích programovacích úloh sumárně ohodnocených 40 body. Řešení vybraných úloh z minulých let jsou k dispozici ve skriptech: ALG_skripta. Úlohy jsou zadávány a řešení vyhodnocována prostřednictvím odevzdávacího systému BRUTE.
-
Každá úloha implementuje některé téma přednášky, toto téma může být pouze dílčí částí úlohy.
-
Akceptované řešení úlohy je takové, které správně spočte výsledky na alespoň 6 z 10 testovacích souborů.
-
Řešení musí být také efektivně naprogramováno, každý datový soubor má stanovený časový limit, do nějž musí být data zpracována a vypsán výsledek. Limit je většinou dvojnásobek času, za který soubor zpracuje autorské referenční řešení v Javě. Limit se zaokrouhluje nahoru na celé sekundy, typicky nepřekračuje 5-10 vteřin.
-
Úlohy lze odevzdat i po termínu, za každý započatý týden prodlení je však při hodnocení odečten jeden bod, za prodlení lze ztratit nejvýše 3 body.
-
Individuálně se lze domlouvat o posunutí termínu s předstihem v odůvodněných případech (nemoc, zahraniční cesta apod).
-
Otázky týkající se domácích uloh i dalších událostí během semestru je vhodné řešit pomocí Gitlab issues.
-
Odevzdávání a vyhodnocování úloh v brute lze si vykoušet a nacvičit pomocí jednoduché, cvičné a neklasifikované úlohy. Řešitelé obeznámení s brute mohou tuto úlohu klidně vynechat.
Termíny a hodnocení domácích úloh
zadání -- odevzdání 1. 23.9. -- 19.10. ( Asymptotic complexity ) 2. 7.10. -- 2.11. ( Recursion/Backtrack ) 3. 14.10. -- 9.11. ( Tree search ) 4. 21.10. -- 23.11. ( Graph search ) 5. 4.11. -- 30.11. ( BST processing ) 6. 11.11. -- 14.12. ( Turing machine ) 7. 18.11. -- 31.12. ( Dynamic Programming ) 8. 25.11. -- 11.1. ( Dynamic Programming ) Správně spočtených 10 z 10 testovacích případů ... 5 bodů Správně spočtených 9 z 10 testovacích případů ... 4 body Správně spočtených 8 z 10 testovacích případů ... 3 body Správně spočtených 7 z 10 testovacích případů ... 2 body Správně spočtených 6 z 10 testovacích případů ... 1 bod Správně spočtených 5 nebo méně testovacích případů ... 0 bodů Pozdní odevzdání ... -1 bod za každý započatý týden zpoždění, nejvýše -3 body.
Časová náročnost úloh

Úlohy se každý rok mění za obdobné úlohy procvičující stejné téma. Jedinou výjimkou je úloha 6, která je letos zcela jiná.
Upload systém
Komunikace s upload systémem je popsána v oddílu Upload System.
Každou úlohu doprovází sada neveřejných testovacích souborů a sada veřejných souborů se správnými výsledky.
Veřejné soubory jsou uloženy v odevzdávacím systému a systém spouští řešitelovu úlohu pokaždé rovněž na těchto datech a vrací řešiteli kompletní výstup jeho řešení na STDOUT a STDERR pro každý veřejný soubor. Veřejné soubory jsou součástí zadání úlohy a jejich obsah je podobný obsahu testovacích souborů a poskytuje tak další příležitost k účinnému ladění. Počet testovacích a veřejných souborů není pevně určen a pro různé úlohy se může lišit. Zejména veřejné soubory mohou z trénovacích důvodů zcela chybět.