====== Domácí úkoly ====== Pro každý domácí úkol je připraven template. V templatu můžete měnit následující: * Přidání Julia core knihoven jako například ''Statistics'', ''LinearAlgebra'' nebo ''Random''. * Přidání vlastních funkcí. * Nahrazení ''nothing'' libovolných kódem. * Přidání klíčových argumentů (keywords arguments). Neměňte deklarace funkcí (mimo přidání klíčových argumentů), nepřidávejte žádné balíky (mimo Julia core knihoven), ani soubor nepřejmenovávejte. ==== Maximální počet uploadů ==== Pro domácí úkoly je maximální počet uploadů omezen na 5. Toto jsme zavedli po špatné zkušenosti s neomezeným počtem uploadů, kde se ukázalo: * Velká část studentů používala BRUTE jako debugger. V mnoha případech poslala několik uploadů běheme pár minut. * Velká část studentů nedělala testy. Dostali jsme velký počet emailů s dotazem na kód, aby se následně ukázalo, že je špatně napsaný výpočet gradientu. Jako vybalancování této podmínky jsme pro vás udělali několik vylepšení: * Přidali jsme primární kontrolu, kde kontrolujeme existenci všech metod. V případě selhání se vypíše, co je špatně. Kontrolujeme * Správný název nahraného souboru. * Existenci všech požadovaných funkcí a metod. * Dále všechny metody spustíme a kontrolujeme, jestli vrací správný typ (například vektor nebo matici). * Přidali jsme sekundární kontrolu, kde kontrolujeme funkčnost všech metod. V případě selhání se vypíše, která metoda je špatně. * Do zadání domácího úkolu jsme přidali doporučené testy. Je možné uploadovat i po vyčerpání limitu počtu uploadů. Výpis pro dodatečné uploady bude stejný, ale bez bodů. Jako výsledný počet bodů se počítá maximální (ne poslední) počet bodů. ==== Tipy ==== - Doporučujeme dělit kód na **hlavní skript a testovací skript**. V hlavním skriptu (''hw.jl'') můžete mít všechny funkce, metody a struktury (source code). Source code z hlavního skriptu pak můžete přidat pomocí ''include("hw.jl")'' a testovat v testovacím skriptu. Nestane se vám pak, že omylem například ve skriptu uploadovaném do BRUTE zůstane include balíku, který není podporován. - Vyvarujte se zakomentovaných řádků, uploadujte pouze čistý kód. Není přijatelné, abyste uploadovali skript s 300 řádky, kde 200 řádků je zakomentovaných. ==== Templaty ==== * {{hw1.jl|Template pro úkol 1}} * {{hw2.jl|Template pro úkol 2}} * {{hw3.jl|Template pro úkol 3}} ==== Odevzdání a vyhodnocení ==== Úkoly budou automaticky vyhodnocovány systémem [[https://cw.felk.cvut.cz/brute/teacher/course/1540|BRUTE]]. Vypracovaný úkol je třeba před nahráním zabalit do formátu ''.zip''.