Python pro vědecké výpočty a řízení (2375004)
Katedra: | ústav přístrojové a řídící techniky (12110) |
Zkratka: | | Schválen: | 10.09.2012 |
Platí do: | ?? | Rozsah: | 2P+2C |
Semestr: | * | Kredity: | 4 |
Zakončení: | KZ | Jazyk výuky: | CS |
Anotace
Kurz pokrývá základy Pythonu, základy objektově orientovaného programování a pokročilejší témata jako zpracování dat, simulace mechanických systémů, paralelní programování a umělou inteligenci. Kurz se rozděluje do týdenních modulů zaměřených na různé aplikace Pythonu za použití nejznámějších knihoven jako jsou NumPy, SciPy, Pandas, Matplotlib, TensorFlow, Requests a FastAPI.
Vyučující
Ing. Michal Kuchař
Letní 2023/2024
Ing. Michal Kuchař
Letní 2022/2023
Ing. Matouš Cejnek Ph.D.
Letní 2021/2022
Ing. Adam Peichl
Letní 2021/2022
Ing. Matouš Cejnek Ph.D.
Zimní 2021/2022
Ing. Adam Peichl
Zimní 2021/2022
Osnova
1. Seznámení se s prostředím Python. Instalace, IDE, základní syntaxe, datové typy, funkce
2. Python a objektové programování: třídy a objekty, metody, atributy, dědičnost, polymorfismus, magické metody.
3. Python pro vědecké výpočty pomocí knihoven NumPy, SciPy – lineární algebra, řešení diferenciálních rovnic. Vizualizace časových řad pomocí knihovny Matplotlib
4. Práce s daty pomocí knihovny Pandas. Nahrání dat ze souboru, preprocessing, operace nad daty jako je řazení, filtrování, základní statistika.
5. Simulace mechanických systémů
6. Řízení mechanických systémů
7. Optimalizace – lineární a kvadratické programování
8. Paralelní programování (multithreading)
9. Úvod do umělé inteligence (genetické algoritmy, fuzzy systém, perceptron)
10. Umělá inteligence za použití knihovny TensorFlow – neuronové sítě (MLP, konvoluční neuronové sítě, samoorganizační mapy)
11. Základy vývoje webových aplikací: Databáze, requests, API.
12.-13. Základy vývoje uživatelského rozhraní.
Osnova cvičení
Procvičení látky z přednášky a řešení individuálně zadaného projektu. Všechna cvičení v počítačové učebně (pravděpodobně 404 a, Linux nebo Windows).
Literatura
https://github.com/CVUT-FS-12110/Python-for-Scientific-Computations-and-Control/tree/master
https://moodle-vyuka.cvut.cz/
Požadavky
K udělení zápočtu se požaduje docházka na přednášky a cvičení, aktivní účast při cvičeních a vypracování týdenních úkolů. Studenti by měli mít základní znalosti pojmů z kurzů matematiky prvního a druhého ročníku technické vysoké školy. Nejsou kladeny nároky na znalost konkrétního SW a programovacího jazyka. Předmět není omezen na studenty automatizace a informatiky.
Klíčová slova
Python, vědecké výpočty, maticové operace, řešení lineárních rovnic, objektové programování v Pythonu, komprese dat PCA, simulace řešení diferenciální rovnice (ODE solver), výpočet diferenční rovnice, tvorba uživatelského rozhraní (GUI), online záznam měřených dat do PC, vizualizace dat, zpracování dat, gradientová optimalizace, Levenberg-Marquardt algoritmus, aproximace statických funkcí, aproximace dynamického systému z reálných dat, Windows, Linux