Warning
This page is located in archive.

Rozvrh na FEL Posluchači ALG Odevzdávací systém BRUTE Diskusní fórum

ALG - cvičení

Provoz v semestru

Podmínky zápočtu
Kromě minima 12 z možných 24 bodů za řešení úloh je ke získání zápočtu nezbytná pravidelná docházka do cvičení s max. 2 neomluvenými absencemi. Předpokládáme, že posluchači se vyvarují odevzdávání plagiátů a seznámí se s pravidly uvedenými na společné stránce: Plagiáty.

Programovací úlohy
Semestr obsahuje 8 domácích programovacích úloh sumárně ohodnocených 24 body, z čehož je k získání zápočtu nutno získat alespoň 12 bodů. Ú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ň 8 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.
  • 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í diskusního fóra ALG.
  • 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.   29.9. -- 22.10.   ( Asymptotic complexity )       
2.  13.10. -- 12.11.   ( Recursion/Backtrack )       
3.  20.10. -- 19.11.   ( Tree search )  
4.  27.10. -- 26.11.   ( Graph search )       
5.   3.11. -- 10.12.   ( BST processing )
6.  10.11. -- 17.12.   ( AVL processing )
7.   1.12. -- 31.12.   ( Dynamic Programming )
8.   8.12. -- 14.1.    ( Dynamic Programming )
         
Správně spočtených 10 z 10 testovacích případů     ... 3 body
Správně spočtených 9 z 10 testovacích případů      ... 2 body
Správně spočtených 8 z 10 testovacích případů      ... 1 bod
Správně spočtených 7 nebo méně testovacích případů ... 0 bodů

Pozdní odevzdání ... -1 bod za každý započatý týden zpoždění.

V BRUTE u úloh vidíte počet správně vyřešených zadání 
(minus penalizaci za pozdní odevzdání), 
ale ne finální počet bodů podle výše uvedeného přepočtu. 
Finální počet bodů za úlohu spočítáme až u zkoušky, 
a je roven max(0, body v BRUTE - 7).

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.

Materiály na cvičení

Úlohy k procvičování a zkoušce

Řád růstu funkcí a asymptotická složitost
Bez řešení a_complex_alg_unsol.pdf a s řešením a_complex_alg.pdf
Rekurze
Bez řešení b_recur_alg_unsol.pdf a s řešením b_recur_alg.pdf
Stromy, průchod stromy
Bez řešení c_treestq_alg_unsol.pdf a s řešením c_treestq_alg.pdf
Vyhledávací stromy
Bez řešení d_bst_avl_b_alg_unsol.pdf a s řešením d_bst_avl_b_alg.pdf
Řazení
Bez řešení e_sort_alg_unsol.pdf a s řešením e_sort_alg.pdf
Hash (rozptylovací tabulky)
Bez řešení f_hash_alg_unsol.pdf a s řešením f_hash_alg.pdf
Dynamické programování
Bez řešení g_dynpgm_alg_unsol.pdf a s řešením g_dynpgm_alg.pdf

courses/b4b33alg/cviceni.txt · Last modified: 2023/11/23 23:09 by sindlpa1