460-2060/01 – 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 | volitelný odborný |
Ročník | 2 | Semestr | letní |
| | Jazyk výuky | češ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
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.
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, closure, 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. Testování a ladění zdrojového kódu.
7. 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.
8. Využití jazyka Python pro konstruování webových aplikací. 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í 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. 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.
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. Představení standardní knihovny. Práce s vestavěným webovým serverem, XML knihovnou ElementTree.
7. Realizace vzdáleného volání metod pomocí XML-RPC.
8. Vytváření webových aplikací. Realizace datového modelu.
9. Vytváření webových aplikací. Realizace formulářů. Spolupráce s klientem pomocí JavaScriptu.
10. Pokročilé programování webových aplikací. Výměna dat s klientem pomocí XML a JSON.
11. 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.
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