Přeskočit na hlavní obsah
Přeskočit hlavičku

Skriptovací jazyky

Typ studia bakalářské
Jazyk výuky čeština
Kód 460-2060/01
Zkratka SKJ
Název předmětu česky Skriptovací jazyky
Název předmětu anglicky Scripting Languages
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu Ing. Jan Gaura, Ph.D.

Subject syllabus

Přednášky

- 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.
- Konstrukce jazyka Python: Řízení toku, definice funkcí, způsoby předávání parametrů, volání funkcí.
- Konstrukce jazyka Python: Kolekce, iterátory, generátory, closure, reflexe. Ukázky použití jednotlivých technik a jejich srovnání s technologiemi Java nebo C#.
- Python a objektové programování: Definice tříd, metod, proměnných.
- Testování a ladění zdrojového kódu.
- Standardní a aplikačně zaměřené knihovny v jazyce Python. Práce s vestavěným webovým serverem, vzdáleným voláním funkcí, XML knihovnou ElementTree a JSON formátem.
- Využití jazyka Python pro konstruování webových aplikací. Webové frameworky pro Python.
- Realizace „server-side“ webové aplikace. Realizace „klient-side“ webové aplikace. Vytváření formulářů. Spolupráce s klientem pomocí JavaScriptu.
- Webové služby, výměna dat pomocí XML a JSON. Realizace webových služeb s využitím metody REST.
- Napojení pythonovských programů na databáze a prostorové databáze. Vytváření geografických webových aplikací.
- Využití jazyka Python pro konstruování GUI.
- Využití jazyka Python pro konstruování multimediálních aplikací a her.
- Programování paralelních a matematických aplikací v Pythonu.


Cvičení

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

- 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í.
- Představení základních konstrukcí jazyka Python, řízení toku, práce s typy list a slovník.
- 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.
- 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#.
- Ukázka objektově orientovaného programování. Definice tříd, metod, proměnných.
- Představení standardní knihovny. Práce s vestavěným webovým serverem, XML knihovnou ElementTree.
- Realizace vzdáleného volání metod pomocí XML-RPC.
- Vytváření webových aplikací. Realizace datového modelu.
- Vytváření webových aplikací. Realizace formulářů. Spolupráce s klientem pomocí JavaScriptu.
- Pokročilé programování webových aplikací. Výměna dat s klientem pomocí XML a JSON.
- Práce s prostorovými daty.
- Konstrukce GUI v jazyce Python
- Programování s vlákny a procesy.

E-learning

Základní materiály jsou dostupné na webu pedagoga: https://github.com/geordi/skj-course

Literature

PILGRIM, Mark. Ponořme se do Python(u) 3: Dive into Python 3. Praha: CZ.NIC, c2010. CZ.NIC. ISBN 978-80-904248-2-1.

BARRY, Paul. Head First Python. O′Reilly, 2016. ISBN: 978-1491919538 .

Advised literature

HARMS, Daryl D., MCDONALD, Kenneth. Začínáme programovat v jazyce Python. Brno: Computer Press, 2003. ISBN 80-722-6799-x.