[[http://www.feld.cvut.cz/cz/education/rozvrhy-ng.B241/public/html/predmety/46/82/p4682306.html|Rozvrh na FEL]] [[https://fel.cvut.cz/cz/education/rozvrhy-ng.B241/public/html/predmety/46/82/fsl-p4682306.html|Posluchači ALG]] [[https://cw.felk.cvut.cz/brute/|Odevzdávací systém BRUTE]] [[https://cw.felk.cvut.cz/forum/forum-1892.html|Diskusní fórum]] ===== Domácí ú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 [[https://cw.felk.cvut.cz/brute//|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í [[https://cw.felk.cvut.cz/forum/forum-1892.html|Diskusní fórum]]. * Odevzdávání a vyhodnocování úloh v brute lze si vykoušet a nacvičit pomocí jednoduché, cvičné a [[https://cw.felk.cvut.cz/brute/data/ae/release/2021z_b4b33alg/alg_cz_2021z/evaluation/input.php?task=trivialtraining|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. 27.9. -- 27.10. ( Asymptotic complexity ) 2. 20.10. -- 15.11. ( Recursion/Backtrack ) 3. 18.10. -- 24.11. ( Tree search ) 4. 25.10. -- 1.12. ( Graph search ) 5. 1.11. -- 8.12. ( BST processing ) 6. 8.11. -- 15.12. ( AVL processing ) 7. 22.11. -- 31.12. ( Dynamic Programming ) 8. 29.11. -- 12.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 [[courses:b4b33alg:ulohy:upload_system| 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.\\ [[https://cw.fel.cvut.cz/wiki/courses/a4b36acm1/start|{{:courses:b4b33alg:toacm.jpg?900}}]]