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 zimnímu semestru 2021/2022 (rozvrh, podmínky zápočtu, témata zápočtových prací apod.).

Kontakt: Jakub Urban, https://python-fjfi.slack.com/

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 - PyCon CZ 2019 workshop (nahrazuje původní materiály)

Literatura

Volně přístupná

Knihy

Srovnání Python a Matlab