Základní kurz programování v jazyce Python provede studenty fyzikálních oborů od krátkých skriptů přes
zpracování dat k vizualizaci výsledků. Zaměření na fyzikální aplikace umožní absolventům získané znalosti
okamžitě prakticky využívat při studiu, studentských projektech i případném zapojení do výzkumných prací.
Python je moderní programovací jazyk široce používaný v mnoha fyzikálních oborech. Je vhodný i pro úplné
začátečníky. Důraz bude kladen na úvodní kapitoly, proto předchozí znalosti programování nejsou nutné.
Poslední úprava: Mgr. Hana Kudrnová (21.04.2021)
The introductory Python course provides the students with the programming basics needed for data processing
and visualization. Focus on scientific applications allows the students to use the acquired knowledge right away for
both study purposes and practical applications. Python is currently one of the most popular languages widely used
in science. Thanks to its simple syntax it is well suited for beginners.
Cíl předmětu -
Poslední úprava: Mgr. Hana Kudrnová (15.04.2021)
Seznámit se s programovacím jazykem Python a jeho využitím pro matematické a fyzikální aplikace
Naučit se psát programy pro zpracování a vizualizaci dat
Poslední úprava: Mgr. Michal Belda, Ph.D. (20.04.2021)
Learn the basics of programming in the Python language with a focus on mathematical and physical applications, mainly data processing and visualization.
Podmínky zakončení předmětu -
Poslední úprava: Mgr. Hana Kudrnová (15.04.2021)
Podmínkou udělení zápočtu je průběžné zpracování domácích úloh během semestru. Alternativně mohou studenti na konci semestru vypracovat jednu úlohu většího rozsahu. Charakter podmínek zakončení předmětu vylučuje opakování.
Poslední úprava: Mgr. Michal Belda, Ph.D. (20.04.2021)
For credit, a student may either submit three shorter Python programs over the course of the semester. Alternatively, one longer program may be submitted at the end of the semester.
Pilgrim, M.: Dive into Python 3. https://diveintopython3.problemsolving.io/
Metody výuky -
Poslední úprava: Mgr. Hana Kudrnová (15.04.2021)
Výuka předmětu probíhá formou přednášky a cvičení na počítači (vlastní notebook výhodou).
Poslední úprava: Mgr. Michal Belda, Ph.D. (20.04.2021)
The course is realized as a lecture and practical exercises (bring your own laptop if you can).
Sylabus -
Poslední úprava: Mgr. Hana Kudrnová (15.04.2021)
Úvod do jazyka Python: základní použití, historie a verze, srovnání s jinými jazyky; filozofie jazyka Python (přehledný jednoduchý kód, velké množství vestavěných knihoven)
Konzole IPython pro interaktivní práci (IPython Notebook), vývojová prostředí a distribuce Python(x,y); tvorba krátkých jednoúčelových skriptů
Stavební kameny Pythonu: syntaxe jazyka, proměnné, datové typy, vestavěné příkazy; základy procedurálního programování - cykly, podmínky, funkce; syntaktický cukr - jak s méně řádky kódu dosáhnout stejných výsledků
Knihovny funkcí: použití vestavěných modulů, instalace a použití doplňujících knihoven, tvorba vlastních modulů
Vědecké výpočty: knihovny NumPy a SciPy pro práci s maticovými daty, numerické výpočty, statistické zpracování a další; knihovna pandas pro načítání a zpracování tabulkových dat
Ukládání dat: formátování výstupu, formáty souborů, čtení a zápis dat z/do souborů a databází; knihovny pro práci s formáty používanými ve fyzikálních oborech
Vizualizace: tvorba grafů pomocí knihoven matplotlib a pandas
Poslední úprava: Mgr. Michal Belda, Ph.D. (20.04.2021)
Introduction to Python: language basics, history and versions (2 and 3), comparison to other languages; Python philosophy (short readable code, batteries included)
IPython console, Jupyter notebooks; integrated development environments and Python distributions; short simple single-purpose scripts
Python building blocks: syntax, variables, data types, builtins; procedural programming basics - loops, conditions, functions; syntactic sugar - do more with less code
Libraries: builtin libraries and modules, extensions.
Scientific computing: NumPy and SciPy libraries for processing vector and matrix data, statistics; processing tabular data with pandas
Input/Output: formatting, file formats, reading and writing files; specialized libraries for data used in math and physics
Visualization: creating graphs using matplotlib, seaborn and pandas