460-2060/02 – Skriptovací jazyky (SKJ)
Garantující katedra | Katedra informatiky | Kredity | 4 |
Garant předmětu | Ing. Jan Gaura, Ph.D. | Garant verze předmětu | Ing. Jan Gaura, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinný |
Ročník | 2 | Semestr | letní |
| | Jazyk výuky | angličtina |
Rok zavedení | 2019/2020 | Rok zrušení | |
Určeno pro fakulty | FEI | Určeno pro typy studia | bakalářské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Předmět si klade za cíl seznámit posluchače s rysy moderních skriptovacích jazyků a jejich aplikacemi. Důraz je kladen na praktické použití ve vývoji aplikací.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Anotace
V předmětu jsou posluchači seznamováni zejména s jazykem Python. Důraz je kladen zejména na předvedení pestré škály možnosti použití jazyka pro řešení v praxi frekventovaných úloh. Způsob řešení problémů je srovnáván s řešeními pomocí klasických systémových programovacích jazyků, jako jsou Java, C# nebo C++. Srovnáním je ilustrována výhodnost použití skriptovacích jazyků. V předmětu je kladen důraz na to, aby byly předávány zejména informace, které jsou pro posluchače významné z hlediska tvorby prakticky užitečných a pro uživatele atraktivních aplikací, které jsou ale současně při použití skriptovacích jazyků relativně snadno zvládnutelné. Přednášky jsou doplněny cvičeními.
Povinná literatura:
Doporučená literatura:
HARMS, Daryl D., MCDONALD, Kenneth. Začínáme programovat v jazyce Python. Brno: Computer Press, 2003. ISBN 80-722-6799-x.
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Samostatné vypracování zadaných úloh na cvičení.
E-learning
Další požadavky na studenta
Další požadavky na studenta nejsou kladeny.
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
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.
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky