Domácí úlohy

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

time consumption average median boxes
Historická časová náročnost úloh, oranžový proužek značí medián, box značí 25. až 75. percentil a úsečka značí 5. až 95. percentil.

Ú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.

ACM

Je na stránce chyba?

Nahlašte nám ji

Máte otázky nebo připomínky?

Edit Dejte nám vědět