456-0548/01 – Skriptovací programovací jazyky a jejich aplikace (SPJA)
Garantující katedra | Katedra informatiky | Kredity | 4 |
Garant předmětu | doc. Dr. Ing. Eduard Sojka | Garant verze předmětu | doc. Dr. Ing. Eduard Sojka |
Úroveň studia | pregraduální nebo graduální | Povinnost | volitelný odborný |
Ročník | 2 | Semestr | zimní |
| | Jazyk výuky | čeština |
Rok zavedení | 2009/2010 | Rok zrušení | 2009/2010 |
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 prakticky významné aplikace.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Projekt
Anotace
Předmět si klade za cíl seznámit posluchače s rysy moderních skriptovacích jazyků a s jejich použitím. 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:
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:
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Samostatné vypracování zadaných úloh.
E-learning
Další požadavky na studenta
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. 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.
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