Programování v Pythonu (FSI-VP0)

Akademický rok 2025/2026
Garant: Ing. Jiří Kovář, Ph.D.  
Garantující pracoviště: ÚAI všechny předměty garantované tímto pracovištěm
Jazyk výuky: čeština
Cíle předmětu:

Porozumět skriptovacímu jazyku Python a tvorbě jeho aplikací. Seznámit se základy tvorby grafického uživatelského prostředí v jazyce Python. Student bude shopen vytvořit aplikaci používající REST API/grpc.
Po úspěšné zvládnutí předmětu budou studenti schopni využít znalosti a chápání základních vlastností a role skriptovacího jazyka Python, jeho syntaxe a sémantiky.

Výstupy studia a kompetence:
 
Prerekvizity:
 
Obsah předmětu (anotace):

Studenti se seznámí s moderním skriptovacím jazykem Python, který je v současnosti nejrozšířenějším programovacím jazykem vůbec.

Získané znalosti umožní studentům věnovat se mnoha oblastem vývoje, jako je strojové učení, analýza dat, testování nebo umělá inteligence.

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
5. Funkce, argumenty a vyjímky
6. Generátory, map, filter, yield
7. 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. Flask, Django a zpracování výjimek.
4. Regulární výrazy a jazyk Python
5. Programování aplikací s grafickým uživatelským rozhraním.
6. Datové struktury, efektivní implementace vyhledávání
7. Standardní knihovny v jazyce Python (1)
8. Standardní knihovny v jazyce Python (2)
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, integrace s RabbitMQ/Kafka.
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-MET-P prezenční studium --- bez specializace -- zá,zk 4 Povinný 2 1 L
B-KSI-P prezenční studium --- bez specializace -- zá,zk 4 Povinně volitelný 1 3 L
B-MET-P prezenční studium --- bez specializace -- zá,zk 4 Povinný 1 1 L
B-MET-P prezenční studium --- bez specializace -- zá,zk 4 Povinný 1 2 L
N-AAE-P prezenční studium --- bez specializace -- zá,zk 4 Volitelný 2 1 L