Programování v Mathematica
| Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
|---|---|---|---|---|
| FIT-PMA | Z,ZK | 4 | 2P+2C | česky |
- Garant předmětu:
- Zdeněk Buk
- Přednášející:
- Zdeněk Buk
- Cvičící:
- Zdeněk Buk
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Systém Wolfram Mathematica patří k nejvýkonnějším nástrojům pro vědecké a technické výpočty, analýzu dat a tvorbu interaktivních modelů. V jednom prostředí spojuje programování, matematiku, vizualizaci, automatizaci i reportování. Je využíván ve výzkumu, průmyslu i technologických společnostech po celém světě od inženýrů v NASA přes analytiky ve fintechu až po datové týmy ve farmaceutickém a automobilovém vývoji.
Kurz FIT-PMA studenty provede od základů používání systému Mathematica až k samostatnému řešení složitějších úloh. Naučíte se efektivně kombinovat symbolické a numerické výpočty, psát přehledný a znovupoužitelný kód, pracovat s daty, vytvářet vizualizace a interaktivní dokumenty, automatizovat opakované úlohy a využívat pokročilé výpočetní metody a optimalizace.
Důraz je kladen na praktické porozumění principům jazyka Wolfram Language jazyka, který je dnes jedním z nejuniverzálnějších nástrojů pro matematické modelování, datovou analýzu a algoritmický výzkum.
Absolventi získají dovednosti využitelné v oblasti vědeckého a technického výzkumu, datové analýzy, softwarového vývoje i výuky matematiky a informatiky. Mathematica je běžně používána v akademických institucích i průmyslu jako prostředí pro rychlou tvorbu prototypů, experimentů a simulací.
- Požadavky:
-
Základní znalosti z algoritmizace (cykly, větvení programu, atd.) a datových struktur (zejména pole).
- Osnova přednášek:
-
1.Úvod do systému Mathematica - Přehled prostředí, práce s notebooky, základní workflow a filozofie systému Wolfram Mathematica.
2.Syntaxe, definice funkcí, vyhodnocování výrazů a základní výpočty - Vyhodnocovací model, definice funkcí, práce s proměnnými a výrazy, základní symbolické a numerické operace.
3.Grafika: vizualizace funkcí, dat, datových struktur a grafů - Tvorba grafů a vizualizací matematických funkcí i datových struktur, přehled možností grafického výstupu.
4.Interaktivita: manipulátory, interaktivní vizualizace a výpočty, dynamika - Práce s funkcí Manipulate, tvorba interaktivních vizualizací a dynamických modelů.
5.Symbolické a numerické výpočty - Kombinování přesných a aproximovaných výpočtů, převody mezi formami, řízení přesnosti a výkonu.
6.Základy programování, funkcionální programování - Struktura programů, práce s funkcemi vyššího řádu, čisté funkce, mapování a skládání funkcí.
7.Rule-based programování - Přepisovací pravidla, pattern matching a transformační přístupy k řešení problémů.
8.Import a export dat, databázové konektory - Načítání a ukládání dat z různých formátů (CSV, JSON, XML, Excel aj.), propojení s databázemi a externími zdroji dat.
9.Typografie v systému Mathematica, dynamické dokumenty, kombinace textu a výpočtů - Vytváření dobře strukturovaných notebooků, kombinace textu, výpočtů a grafických prvků, automatizované reporty.
10.Optimalizace (NMinimize, FindMinimum), neuronové sítě - Základy optimalizačních úloh, práce s funkcemi pro hledání minim a maxim, ukázky využití neuronových sítí a inteligentních algoritmů.
11.Efektivní programování, optimalizace, paralelizace - Zásady psaní efektivního kódu, využití kompilace, paralelní výpočty a rozložení úloh.
12.J/Link, MathLink propojení s programy v Javě a C - Integrace Mathematica s dalšími programovacími jazyky, volání externích knihoven, výměna dat a rozšiřování funkcionality.
13.Komplexní aplikace - Složitější projekty a simulace, automatizace a řízení systémů, práce s Wolfram Workbench, případně volitelné téma na přání studentů.
- Osnova cvičení:
-
1. Úvod do předmětu
2. Výrazy a funkce
3. Grafika a vizualizace
4. Interaktivita
5. Symbolické a numerické výpočty
6. Základy programování, funkcionální programování
7. Rule-based programování
8. Konzultace semestrální práce, Import online dat
9. Typografie v systému Mathematica, dynamické dokumenty, kombinace textu a výpočtů
10. Programování a konzultace semestrální práce
11. Konzultace semestrální práce + TEST, paralelizace
12. LibraryLink
13. Strojové učení
- Cíle studia:
-
V tomto předmětu budou studenti seznámeni podrobně se stylem práce a s různými technikami programování v systému Mathematica. Student bude po absolvování předmětu schopen vytvářet kompletní interaktivní dokumenty a prezentace, zpracovávat datové soubory, vytvářet vlastní knihovny, atd.
- Studijní materiály:
-
Wolfram Mathematica Documentation Center - http://reference.wolfram.com/mathematica/guide/Mathematica.html
Wolfram Screencast and Video Gallery - http://www.wolfram.com/broadcast/
Wolfram Education Group, Free online seminars - http://www.wolfram.com/services/education/seminars/
Wolfram Demonstration Projects - http://demonstrations.wolfram.com/
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/FIT-PMA/ This course is presented in Czech.
- Další informace:
- https://courses.fit.cvut.cz/FIT-PMA/
- Rozvrh na zimní semestr 2025/2026:
- Rozvrh není připraven
- Rozvrh na letní semestr 2025/2026:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů: