Programování v Python (FSI-9PVP)

Akademický rok 2020/2021
Garant: prof. Ing. Radomil Matoušek, Ph.D.  
Garantující pracoviště: ÚAI všechny předměty garantované tímto pracovištěm
Jazyk výuky: čeština či anglič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.
Výstupy studia a kompetence:
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.
Prerekvizity:
Základy programování na úrovni kurzu 1IN (Informatika).
Obsah předmětu (anotace):
Studenti se seznámí s moderním skriptovacím jazykem Python.
Metody vyučování:
Škola hrou, programování pomocí zábavných příkladů.
Způsob a kritéria hodnocení:
Aktivní účast a zvládnutí zadaného problému v požadované kvalitě.
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky:
Výuka běží podle týdenních plánů. Účast na cvičeních je povinná. Způsob nahrazení zameškaných cvičení je plně v kompetenci vyučujícího.
Typ (způsob) výuky:
    Přednáška  10 × 2 hod. nepovinná                  
Osnova:
    Přednáška 1. Úvod. Základní vlastnosti, historie Pythonu. Porovnání s ostatními jazyky.
2. Základy jazyka. Struktura kódu, komentáře. Proměnné, datové typy. Operátory a výrazy. Čísla a řetězce. Kolekční datové typy, posloupnosti, množiny. Práce s řetězci, formátování. Řízení běhu program (Příkazy pro větvení. Příkazy pro cykly)
3. Funkce a procedury. Definice funkcí a procedur. Předávání parametrů. Proměnný počet parametrů. Funkce pro práci s kolekcemi.
4. Moduly a balíčky. Seznámení s moduly. Tvorba vlastních modulů a balíčků. Chyby a výjimky. Typy, vyvolání, zachycení a obsluha výjimek.
5. Práce se soubory. Otevírání souborů, čtení, zápis. Moduly pickle, json, shelve
6. Skripty. Vytvoření skriptu a jeho spuštění. Argumenty příkazového řádku. Přesměrování. Spuštění externího program. Skripty v UNIXu a ve Windows
7. Objektově orientované programování. Třídy, atributy a metody. Magické metody. Dědičnost a vícenásobná dědičnost. Další vlastnosti OOP v Pythonu
8. Aplikace: Sítě, klient HTTP, SMTP, jednoduchý HTTP server, vzdálené volaní procedur XML-RPC
9.-10. Aplikace: hra hadi
Literatura - základní:
1. Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press, ISBN 80-7226-799-X.
2. Harms, D., Macdonald, K.: The Quick Python Book. Manning Publications, 2000
Literatura - rozšiřující:
3. Burris, E.: Programming in the Large with Design Patterns, Pretty Print Press, 2012
4. Johansson, R.: Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib, second edition, Apress, 2019
Zařazení předmětu ve studijních programech:
Program Forma Obor Spec. Typ ukončení   Kredity     Povinnost     St.     Roč.     Semestr  
D4P-P prezenční studium D-APM Aplikovaná matematika -- drzk 0 Doporučený kurs 3 1 L
D4F-P prezenční studium D-FMI Fyzikální a materiálové inženýrství F Fyzikální inženýrství drzk 0 Doporučený kurs 3 1 L
D-APM-K kombinované studium --- bez specializace -- drzk 0 Doporučený kurs 3 1 L