Přeskočit na hlavní obsah
Přeskočit hlavičku
Ukončeno v akademickém roce 2022/2023

Skriptovací programovací jazyky a jejich aplikace

Typ studia bakalářské
Jazyk výuky angličtina
Kód 460-2015/02
Zkratka SPJA
Název předmětu česky Skriptovací programovací jazyky a jejich aplikace
Název předmětu anglicky Scripting Programming Languages and their Applications
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu doc. Dr. Ing. Eduard Sojka

Osnova předmětu

Přednášky

1. Skriptovací jazyky. Motivace pro jejich použití. Hlavní rysy a srovnání některých populárních skriptovacích jazyků - Ruby, JavaScript, Perl, Python, Tcl. Perspektivy skriptovacích jazyků.
2. Programovací jazyk Python. Historie a vlastnosti.
3. Konstrukce jazyka Python: Řízení toku, definice funkcí,
způsoby předávání parametrů, volání funkcí.
4. Konstrukce jazyka Python: Kolekce, iterátory, generátory, closures, reflexe. Ukázky použití jednotlivých technik a jejich srovnání s technologiemi Java nebo C#.
5. Python a objektové programování: Definice tříd, metod, proměnných.
6. Využití návrhových vzorů pro efektivní implementaci objektově
orientovaného kódu.
7. Standardní a aplikačně zaměřené knihovny v jazyce Python. Příklady použití.
8. Využití jazyka Python pro konstruování webových aplikací. Práce
s vestavěným webovým serverem. Webové frameworky pro Python.
9. Realizace „server-side“ webové aplikace. Realizace „klient-side“ webové aplikace. Vytváření formulářů. Spolupráce s klientem pomocí JavaScriptu.
10. Webové služby, výměna dat pomocí XML a JSON. Realizace webových služeb s využitím metody REST.
11. Napojení na pythonovských programů na databáze a prostorové databáze. Vytváření geografických webových aplikací.
12. Využití jazyka Python pro konstruování GUI.
13. Využití jazyka Python pro konstruování multimediálních aplikací a her.
14. Paralelní programování v Pythonu.


Cvičení

Na cvičeních budou probírána témata teoreticky vysvětlená na přednáškách.

1. Seznámení se z vývojovým prostředím. Ukázka interaktivního režimu. Vytváření skriptů ve vybraných jazycích a jejich porovnání.
2. Představení základních konstrukcí jazyka Python, řízení toku, práce s typy list a slovník.
3. Definice funkcí, způsoby předávání parametrů, volání funkcí, zápis lambda funkcí a jejich využití pro práci s listy.
4. Představení kolekcí, iterátorů, generátorů, closures a reflexe. Ukázka použití jednotlivých technik a jejich srovnání s technologiemi Java nebo C#.
5. Ukázka objektově orientovaného programování. Definice tříd, metod, proměnných.
6. Pokročilé techniky objektového programování, využití návrhových vzorů pro efektivní vytváření aplikací.
7. Představení standardní knihovny. Práce s vestavěným webovým serverem, vzdáleným voláním funkcí, XML knihovnou ElementTree.
8. Vytváření webových aplikací. Realizace objektového modelu URI. Vytváření formulářů. Spolupráce s klientem pomocí JavaScriptu.
9. Pokročilé programování webových aplikací. Výměna dat s klientem pomocí XML a JSON.
10. Realizace webových služeb architekturou REST.
11. Realizace propojení s databází. Práce s prostorovými daty.
12. Konstrukce GUI v jazyce Python
13. Programování s vlákny a procesy.
14. Závěrečný test.

Povinná literatura

D. Harms, K. McDonald, Začínáme programovat v jazyce Python, CPress, ISBN: 80-722-6799-X
M. Lutz, D. Ascher, Naučte se Python, Grada, ISBN: 80-247-0367-X
M. Lutz, Programming Python, 2nd Edition, Oreilly & Associates Inc, 2001, ISBN-13: 9780596000851  / ISBN-10: 0596000855 
On-Line dokumentace k jazyku Python: docs.python.org

Doporučená literatura

S. Hellegouarch, CherryPy Essentials: Rapid Python Web Application Development, Packt Publishing Limited, ISBN: 1904811841