====== 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-1857.html|diskusní fórum]] [[https://cw.felk.cvut.cz/brute/teacher/course/1540|BRUTE]] [[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B231/public/html/predmety/69/85/p6985806.html|rozvrh]] **Kurz je možné si zapsat v rámci [[https://prg.ai/minor/17347/|prg.ai]].** **[[./en/start|ENGLISH TRANSLATION]] is now available.** ===== Ú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í: Václav Šmídl, Václav Mácha, Michaela Mašková. * 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 ^ Přednáška + cvičení ^ Téma ^ Úkoly ^ Deadline ^ | 28. 9. 2023 | 0+4 | //Státní svátek// | --- | --- | | 5. 10. 2023 | 0+4 | Motivační lekce a základy Julie | --- | --- | | 12. 10. 2023 | 0+4 | Datové struktury | --- | --- | | 19. 10. 2023 | 0+4 | Podmínky a cykly | --- | --- | | 26. 10. 2023 | 0+4 | Metody a funkce | domácí úkol | 1.11.2023 | | 2. 11. 2023 | 0+4 | Často používané balíčky | --- | --- | | 9. 11. 2023 | 0+4 | Typový systém | --- | --- | | 16. 11. 2023 | 0+4 | Organizace kódu | --- | --- | | 23. 11. 2023 | 2+2 | Optimalizace | domácí úkol | 29.11.2023 | | 30. 11. 2023 | 2+2 | Regrese a klasifikace | --- | --- | | 7. 12. 2023 | 2+2 | Neuronové sítě I | --- | --- | | 14. 12. 2023 | 2+2 | Neuronové sítě II | domácí úkol | 20.12.2023 | | 21. 12. 2023 | 2+2 | Statistika | --- | --- | | 11. 1. 2024 | 4+0 | //Konzultace projektů// | --- | --- | ===== Hodnocení a zkouška ===== Kurz je zakončen klasifikovaným zápočtem. Známku student obdrží podle získaných bodů. | Domácí úkoly | max. 30 bodů | | Projekt | max. 70 bodů | | **Celkem** | max. 100 bodů | Známka se uděluje dle následujících bodových rozhraní. ^ Body | [0, 50) | [50, 60) | [60, 70) | [70, 80) | [80, 90) | [90, 100] | ^ Známka | F | E | D | C | B | A | ==== 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 [[https://cw.felk.cvut.cz/brute/teacher/course/1540|BRUTE]]. Na vypracování domácích úkolů je jeden týden. Podrobnější informace o struktuře jsou ve vlastní [[.hw/start|sekci]]. ==== Projekt ==== Cílem závěrečného projektu je ukázat dovednosti naučené v kurzu. Téma závěrečného projektu musí být schváleno jedním z vyučujících do deadlinu uvedeného níže. Student si projekt sám vybere a jednomu z vyučujících přednese krátký popis projektu a funkcionalitu. Bez tohoto schválení nemůže být projekt obhájen. Po vypracování projektu následuje obhajoba projektu. Podrobnější informace o návrzích projektu, jeho implementaci a schvalování je v samostatné [[.project/start|sekci]]. **Pro schválení projektu platí následující deadliny:** * Projekt musí být osobně navržen //nejpozději// na přednášce 11. 1. 2024 * Potenciální požadované úpravy musí být zpracovány do 18. 1. 2024