Programování v Pythonu (FSI-VP0)

Akademický rok 2026/2027
Garant: Ing. Jan Turčínek, Ph.D.  
Garantující pracoviště: ÚAI všechny předměty garantované tímto pracovištěm
Jazyk výuky: čeština
Typ předmětu: oborový předmět
Cíle předmětu:
 
Výstupy studia a kompetence:
 
Prerekvizity:
 
Obsah předmětu (anotace):

Tento předmět seznamuje studenty se základy moderního programování v jazyce Python a s postupy tvorby kvalitního, přehledného a udržovatelného kódu. Studenti se naučí pracovat s vývojovým prostředím, verzováním a základními nástroji pro analýzu kódu. Předmět pokrývá klíčové prvky jazyka, jako jsou datové struktury, funkce, výjimky, generátory, iterátory a principy objektově orientovaného programování. Součástí jsou také základy grafického uživatelského rozhraní, testování, ladění programů, paralelního zpracování a optimalizace výkonu aplikací. Kurz završuje praktické využití Pythonu pro komunikaci přes REST API a gRPC a shrnutí získaných znalostí. Cílem je připravit studenty na samostatnou tvorbu robustních a efektivních aplikací v Pythonu.

Metody vyučování:
 
Způsob a kritéria hodnocení:
 
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky:
 
Typ (způsob) výuky:
    Přednáška  13 × 2 hod. nepovinná                  
    Cvičení s počítačovou podporou  13 × 2 hod. povinná                  
Osnova:
    Přednáška

1. Vývojové prostředí pro programování v Python, PyCharm, VSCode
2 - 3. Základy jazyka Python, verze jazyka, prostředí, zásady psaní kódy v jazyce Python. Strukturování kódu. Komentáře. Statická analýza kódu.
4. List a Dictionary, Slicing, Key parametr, funkce, argumenty a vyjímky
5. Generátory, map, filter, yield
6. GUI
7. OOP, třída a interface
9. Testování a debugging programu v jazyce Python
10. Paralelismus a procesy
11. Robustnost a výkon aplikace
12. Python a REST API, grpc
13. Summarizace, opakování

    Cvičení s počítačovou podporou

1. Úvod, stručná historie vývoje programovacích jazyků, představení Python a vývojového prostředí PyCharm, VS Code.
2. Základní příkazy, datové typy a operátory, funkce, moduly a třídy
3. Strukturování kódu, komentáře, dokumentace, statická analýza a zpracování výjimek.
4. List, Dictionary, Slicing apod.
5. Datové struktury, efektivní implementace vyhledávání.
6. Programování aplikací s grafickým uživatelským rozhraním.
7. a 8. OOP.
9. Integrace aplikace v širším ekosystému, kontejnerizace
10. Zpracování dokumentů XML nebo JSON, knihovny pro ukládání a vyhledávání.
11. Stream handling
12. Moderní koncepty vývoje, REST API, grpc
13. Shrnutí.

Literatura - základní:
1. Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press 2012, ISBN 80-7226-799-X.
Literatura - doporučená:
1. Scipy lecture notes [on-line 1.10.2019: http://www.scipy-lectures.org/]
2. Burris, E.: Programming in the Large with Design Patterns, Pretty Print Press, 2012
Zařazení předmětu ve studijních programech:
Program Forma Obor Spec. Typ ukončení   Kredity     Povinnost     St.     Roč.     Semestr  
N-AAE-P prezenční studium --- bez specializace -- zá,zk 4 Volitelný 2 1 L
B-MET-P prezenční studium --- bez specializace -- zá,zk 4 Volitelný 1 1 L
B-MET-P prezenční studium --- bez specializace -- zá,zk 4 Volitelný 1 2 L
B-KSI-P prezenční studium --- bez specializace -- zá,zk 4 Povinně volitelný 1 3 L
N-MET-P prezenční studium --- bez specializace -- zá,zk 4 Volitelný 2 1 L
B-PRP-P prezenční studium --- bez specializace -- zá,zk 4 Volitelný 1 1 L
B-ZSI-P prezenční studium STI Základy strojního inženýrství -- zá,zk 4 Volitelný 1 1 L
C-AKR-P prezenční studium CLS Předměty letního semestru -- zá,zk 4 Volitelný 1 1 L