====== Julia pro optimalizaci a učení ====== **Rychlé odkazy** [[https://juliateachingctu.github.io/Julia-for-Optimization-and-Learning/stable/|skripta]] [[https://cw.felk.cvut.cz/forum/forum-1754.html|diskusní fórum]], [[https://cw.felk.cvut.cz/brute/teacher/course/1292|BRUTE]] [[http://www.feld.cvut.cz/cz/education/rozvrhy-ng.B211/public/html/predmety/69/85/p6985806.html|rozvrh]] [[http://bilakniha.cvut.cz/cs/predmet6985806.html| Bílá kniha]] ===== Úvod ===== Programovací jazyk [[https://julialang.org/|Julia]] je stále více používán komunitou pro jeho vhodnost v oblasti numerických výpočtů. Předmět se skládá ze dvou částí. První část prezentuje jazyk Julia a ukáže jeho základy. Druhá část nejdřív ukáže základní ideu matematické optimalizace a aplikuje ji ve strojovém učení, statistice a optimálním řízení diferenciálních rovnic. Zatímco první část ukazuje jednotlivé koncepty Julie, druhá část je kombinuje do delších logických sekcí kódu. Jednotlivé aplikace jsou vždy vysvětleny teoreticky, jednoduché funkce jsou naprogramovány ručně a poté se ukážou balíčky, kde je daný kód již hotov. Předmět je zakončen závěrečným projektem. Student si může zvolit téma, případně si vyzkoušet práci s reálnými daty výběrem soutěže z Kaggle. ===== Přednášky a cvičení ===== * Přednášející: [[http://staff.utia.cas.cz/adam/index.html|Lukáš Adam]] a Vašek Mácha. * Dotace je celkově 1+3. První půlka semestru je 0+4, druhá 2+2. * Přednášky a cvičení postupují podle online [[https://juliateachingctu.github.io/Julia-for-Optimization-and-Learning/stable/|skript]]. * Konzultace poskytujeme po předchozí domluvě. ^ Datum ^ Téma ^ Kvízy a úkoly ^ Deadline ^ | 30. 9. | Motivační lekce a základy Julie | kvíz | 13. 10. | | 7. 10. | Datové struktury | kvíz | 13. 10. | | 14. 10. | Podmínky a cykly | kvíz | 20. 10. | | 21. 10. | Metody a funkce | domácí úkol | 27. 10.| | 28. 10. | //Státní svátek// | | | | 4. 11. | Často používané balíčky | kvíz | 10. 11.| | 11. 11. | Typový systém | kvíz | 17. 11. | | 18. 11. | Organizace kódu | kvíz | 24. 11. | | 25. 11. | Optimalizace | domácí úkol | 1. 12. | | 2. 12. | Regrese a klasifikace | kvíz | 8. 12. | | 9. 12. | Neuronové sítě I | kvíz | 15. 12. | | 16. 12. | Neuronové sítě II | domácí úkol | 5. 1. | | 6. 1. | Statistika | kvíz | 12. 1.| ===== Hodnocení a zkouška ===== Kurz je zakončen klasifikovaným zápočtem. Známku student obdrží podle získaných bodů. | Online kvízy | max. 20 bodů | | Domácí úkoly | max. 30 bodů | | Projekt | max. 50 bodů | | **Celkem** | max. 100 bodů | Známka se uděluje dle následujících bodových rozhraní. Dále je nutné odevzdat projekt; pouze kvízy a domácí úkoly na úspěšné zakončení předmětu nestačí. ^ Body | [0, 50) | [50, 60) | [60, 70) | [70, 80) | [80, 90) | [90, 100] | ^ Známka | F | E | D | C | B | A | ==== Online knízy ==== Cílem online kvízu je zopakovat si látku v průběhu semestru. Každý kvíz vyžaduje vybrat správnou odpověď z nabízených možností. Počet opakování jednoho kvízu není omezen. V semestru vám zadáme 10 kvízů, při včasném vyplnění dostanete za každý 2 body. Za pozdní odevzdání je 0 bodů. Každý kvíz bude zadán v BRUTE. Na vypracování kvízů je jeden týden. ==== Domácí úkoly ==== Cílem domácích úkolů je naprogramování krátké funkce, která se automaticky vyhodnotí na neznámých vstupech. Vyhodnocení vámi napsané funkce dostanete hned po uploadu. Stejně jako u kvízů není počet uploadů jednotlivých funkcí omezen. V semestru vám zadáme 3 domácí úkoly, při včasném vyplnění dostanete za každý 10 bodů. Při pozdním odevzdání se strhává 0.5 bodu za každý načatý den zpoždění. Každý domácí úkol bude zadán v BRUTE. Na vypracování domácích úkolů je jeden týden. Podrobnější informace o strukturě jsou ve vlastní [[.lectures|sekci]]. ==== Projekt ==== Cílem závěrečního projektu je ukázat dovednosti naučené v kurzu. Projekt je vyhodnocen po konzultaci s jedním z vyučujících. Podrobnější informace o strukturě jsou ve vlastní [[.tutorials|sekci]].