Repozitář obsahuje výkladové notebooky, týdenní úkoly a navazující materiály k předmětu Vědecké výpočty v Pythonu pro běh letního semestru 2025/2026 (LS 25/26).
Harmonogram, organizační informace a deadliny jsou na LMS.
Repozitář můžete otevřít přímo v GitHub Codespaces:
Po vytvoření prostředí:
- Automaticky se vytvoří
.venva doinstalují se závislosti z.devcontainer/requirements-week11.txt. - Zaregistruje se Jupyter kernel
Python (vvp .venv). - V prostředí Jupyter notebooků používejte tento kernel.
Week_01ažWeek_13: výkladové notebooky a týdenní úkoly (XX_ukoly.ipynb).DU1.ipynbažDU5.ipynb: samostatné domácí úkoly..devcontainer/: konfigurace pro Codespaces / VS Code Dev Containers.
01a_git.ipynb: základy Git workflow.01b_proc_python.ipynb: úvod do kurzu, proč Python, nástroje.01c_VSCode_Jupyter.ipynb: práce ve VS Code a v prostředí Jupyter notebooků.01d_hello_world.ipynb: první Python skript a základní spuštění.01_ukoly.ipynb: procvičení Git + úvod do Pythonu.
02a_promenne_a_typy.ipynb: proměnné, datové typy, konverze.02b_operatory.ipynb: operátory a precedence.02c_funkce_a_rizeni_toku.ipynb: funkce, podmínky, cykly.02d_ladeni.ipynb: ladění a práce s chybami.02_ukoly.ipynb: úlohy na základy jazyka.
03a_lambda_a_rizeni_toku_II.ipynb: lambda, pokročilejší řízení toku.03b_vyjimky_iteratory_comprehension.ipynb: výjimky, iterátory, comprehension.03c_magics_retezce_soubory.ipynb: IPython magics, řetězce, práce se soubory.03_ukoly.ipynb: průběžné procvičení.
04a_prostory_jmen.ipynb: prostory jmen, LEGB pravidlo.04b_tridy.ipynb: OOP v Pythonu, třídy, metody.04_ukoly.ipynb: úlohy na namespace a OOP.
05a_ndarray.ipynb: NumPy polendarray.05b_vytvareni_poli.ipynb: vytváření a inicializace polí.05c_numpy_prace_se_soubory.ipynb: načítání/ukládání dat (text, binární formáty, HDF5).05_ukoly.ipynb: úkoly k NumPy základům.
06a_indexovani_rezani.ipynb: indexování a slicing.06b_view_a_copy.ipynb: view vs copy.06c_linearni_algebra.ipynb: lineární algebra v NumPy.06d_funkce_nad_poli.ipynb: vektorové operace a funkce nad poli.06_ukoly.ipynb: procvičení práce s poli.
07a_graf_funkce.ipynb: první grafy v Matplotlib.07b_vice_grafu_a_os.ipynb: více os, více grafů v jedné figuře.07c_formatovani_grafu.ipynb: popisky, legenda, formátování.07d_barvy_a_styly.ipynb: styly a barevné mapy.07e_dalsi_2d_grafy.ipynb: další 2D typy grafů.07f_3d_grafy.ipynb: základy 3D grafů.07_ukoly.ipynb: úlohy k vizualizaci.
08a_scipy_uvod.ipynb: úvod do SciPy.08b_special.ipynb: speciální funkce.08c_sparse.ipynb: sparse matice.08d_fftpack.ipynb: FFT.08e_optimize.ipynb: optimalizace.08f_interpolate.ipynb: interpolace.08g_integrate.ipynb: numerická integrace.08_ukoly.ipynb: úlohy ke SciPy.
09a_sympy_symboly.ipynb: symboly v SymPy.09b_sympy_vyrazy.ipynb: symbolické výrazy.09c_sympy_upravy.ipynb: algebraické úpravy.09d_sympy_derivace_a_integraly.ipynb: derivace a integrály.09e_sympy_rovnice.ipynb: řešení rovnic.09f_sympy_generovani_kodu.ipynb: generování kódu.09g_pandas.ipynb: základy pandas.09_ukoly.ipynb: úlohy k SymPy/pandas.
10a_type_hints.ipynb: type hints.10b_navyky.ipynb: návyky při psaní kódu.10c_jednotkove_testy.ipynb: unit testy.10d_venv.ipynb: virtuální prostředí.10e_baliky.ipynb: tvorba a struktura balíčků.10f_sphinx.ipynb: dokumentace přes Sphinx.10_ukoly.ipynb: úkoly k kvalitě kódu.
11a_venv_a_prostredi.ipynb: příprava prostředí pro výkonové nástroje.11b_profilovani.ipynb: profilování výkonu.11c_numexpr.ipynb: výpočty přes NumExpr.11d_numba.ipynb: JIT akcelerace přes Numba.11e_cython.ipynb: základy Cythonu.11f_ukazka_body.ipynb: ukázka simulace těles.11g_ukazka_graf.ipynb: ukázka grafových výpočtů.11_ukoly.ipynb: výkonově orientované úlohy.
12a_prehled_paralelizmu.ipynb: přehled paralelizace.12b_numba_parallel.ipynb: paralelní Numba.12c_cython_parallel.ipynb: paralelní Cython.12d_threading.ipynb: threading.12e_multiprocessing.ipynb: multiprocessing.12f_ukazka_body_parallel.ipynb: paralelní varianta výpočtu těles.12_ukoly.ipynb: úkoly k paralelizaci.
13a_mpi4py.ipynb: základy MPI přesmpi4py.13b_prehled_linkovani_C.ipynb: přehled linkování C kódu.13c_Ctypes_a_cffi.ipynb: volání C přesctypesacffi.13d_cython.ipynb: Cython pro volání nativních funkcí.13e_nativni_linkovani.ipynb: nativní Python C extension.13_ukoly.ipynb: úlohy k MPI/linkování/Cythonu.
Část materiálů vychází z projektů: