Vědecké programování v Pythonu

Tato stránka slouží k výuce předmětu Vědecké programování v Pythonu (12PYTH) na ČVUT FJFI. Náplň kurzu najdete v materiálech níže a také v sylabu.

Informace k letnímu semestru 2023/2024 (rozvrh, podmínky zápočtu, témata zápočtových prací apod.).

Kontakt: Jakub Urban.

Komunikace na Discord serveru: https://discord.gg/Zczh2w9JxY. Připojte se do kanálu ls-23-24.

První lekce 15. 2.

První lekce proběhne samostatně.

  1. Samostatně si projděte lekci První krůčky. Je třeba, abyste si vyzkoušeli a ověřili funkčnost prostředí pro výuku.

  2. Projděte si také dvě úvodní lekce Proč Python? a Úvod.

Otázky a komentáře ideálně sdílejte na Discordu, aby se diskuze rovnou dostala i k ostatním.

Co se tady naučíte

  • Jak jednoduše nainstalovat a spustit Python a spoustu užitečných doplňků.

  • Obecné základy programování v Pythonu, které jsou nezbytné pro efektivní použití pro vědecké použití.

  • Používat metody moderní softwarového inženýrství, např. jednotkové testy.

  • Práci se základními vědeckými knihovnami: numpy, scipy, matplotlib, pandas apod.

  • Kdy a jak optimalizovat a paralelizovat (nejen) Python kód.

  • Samostatnou práci na vlastním Python projektu.

Materiály

Materiály k výuce jsou postupně doplňovány a aktualizovány. Zdrojové IPython (Jupyter) notebooky najdete také na Gitlab.

  1. Proč Python?

  2. Úvod

  3. První krůčky

  4. Nástroje

  5. Základní syntaxe

  6. Datové typy: čísla a řetězce

  7. Datové typy: Kontejnery

  8. Objektově orientované programování

  9. Iterátory a generátory

  10. Funkcionální programování v Pythonu

  11. Moduly

  12. Výjimky

  13. Jak python loví štěnice

  14. Jednotkové testy

  15. Práce s řetězci a se soubory

  16. Vytváříme Python projekt

  17. Základy Numpy

  18. Grafy s Matplotlib

  19. Plotly pro interaktivní vizualizaci

  20. Vědecká knihovna SciPy

  21. Symbolický a sympatický SymPy

  22. Optimalizace až na Cost

  23. Paralelní výpočty

  24. Slepování jazyků pomocí Pythonu

  25. Pandas

Literatura

Volně přístupná

Knihy

Srovnání Python a Matlab