Programování v jazyku Julia
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BI-JUL.21 | KZ | 5 | 3C | česky |
- Garant předmětu:
- Tomáš Kalvoda
- Přednášející:
- Tomáš Kalvoda
- Cvičící:
- Tomáš Kalvoda
- Předmět zajišťuje:
- katedra aplikované matematiky
- Anotace:
-
Cílem předmětu je seznámit studenty s moderním programovacím jazykem a prostředím Julia určeným zejména pro vědecké výpočty. První polovina předmětu studenty seznámí se základními koncepty a vlastnostmi Julia. V druhé polovině pak na tematicky různorodých problémech ukážeme využití nástrojů dostupných v Julia. Studenti si osvojí práci v prostředí Julia a získají přehled o jeho možnostech pro řešení problémů z oblastí, s kterými se mohou dále během svého studia setkat.
- Požadavky:
-
Předpokládá se znalost základů programování a algoritmizace na úrovni předmětů BI-PA1 a BI-PA2.
- Osnova přednášek:
-
Předmět nemá přednášky.
- Osnova cvičení:
-
1. Úvod do vědeckého počítání (motivace, historie, současnost, různé nástroje, cíle a problémy).
2. Úvod do programovacího jazyka Julia (instalace, balíčkovací ekosystém, REPL, Juno IDE, Jupyter).
3. Řídící struktury. Typový systém: abstraktní, konkrétní a parametrické typy, ilustrace na číselných typech.
4. Funkce a metody, makra a metaprogramování.
5. Vícerozměrná pole a maticové typy.
6. Standardní knihovna (zejména balíčky Lineární algebra, Statistika).
7. Nástroje pro paralelizace výpočtů a profilování.
8. Moduly, tvorba balíčků a projektů, tvorba dokumentace.
9. Vizualizace a práce s obrazovými daty (balíčky Plots, Gadfly, Images).
10. Import a export dat (balíček DataFrames, různé formáty, čtení, ukládání, práce s daty).
11. Optimalizační úlohy (balíček JuMP).
12. Diferenciální rovnice (balíček DifferentialEquations).
13. Julia ve strojovém učení (vybrané partie z balíčků Flux a JuliaML).
- Cíle studia:
- Studijní materiály:
-
1. Balbaert I., Salceanu A. : Julia 1.0 Programming Complete Reference Guide. Packt Publishing, 2019. ISBN 978-1-83882-224-8.
2. Bezanson J., Edelman A., Karpinski S., Shah V. B. : Julia: A Fresh Approach to Numerical Computing. SIAM, 2017.
3. Nagar S. : Beginning Julia Programming-For Engineers and Scientists. Springer, 2017. ISBN 978-1-4842-3171-5.
- Poznámka:
- Další informace:
- https://courses.fit.cvut.cz/BI-JUL
- Rozvrh na zimní semestr 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po Út St Čt Pá - Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bc. specializace Umělá inteligence, 2021 (povinně volitelný předmět)
- Bc. specializace Umělá inteligence, 2024 (povinně volitelný předmět)