456-0548/01 – Skriptovací programovací jazyky a jejich aplikace (SPJA)

Garantující katedraKatedra informatikyKredity4
Garant předmětudoc. Dr. Ing. Eduard SojkaGarant verze předmětudoc. Dr. Ing. Eduard Sojka
Úroveň studiapregraduální nebo graduálníPovinnostpovinně volitelný
Ročník3Semestrzimní
Jazyk výukyčeština
Rok zavedení2009/2010Rok zrušení2009/2010
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
BOH126 Ing. Ada Böhm, Ph.D.
GAU01 Ing. Jan Gaura, Ph.D.
VAS220 Ing. Oldřich Vašut
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Klasifikovaný zápočet 2+2
kombinovaná Klasifikovaný zápočet 10+4

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:

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

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

Prezenční forma (platnost od: 2009/2010 zimní semestr, platnost do: 2010/2011 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
Klasifikovaný zápočet Klasifikovaný zápočet 100 (100) 51 3
        Závěrečná písemná práce Písemka 30  15
        Závěrečný pohovor k příkladům Jiný typ úlohy 20  10
        Odevzdání souboru pěti příkladů Jiný typ úlohy 50  25
Rozsah povinné účasti:

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP:

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2009/2010 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P čeština Ostrava 3 povinně volitelný stu. plán
2009/2010 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P čeština Ostrava 2 volitelný odborný stu. plán
2009/2010 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P čeština Ostrava 2 volitelný odborný stu. plán
2009/2010 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P čeština Ostrava 2 volitelný odborný stu. plán
2009/2010 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P čeština Ostrava 2 volitelný odborný stu. plán
2009/2010 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K čeština Ostrava 3 povinně volitelný stu. plán
2009/2010 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K čeština Ostrava 2 volitelný odborný stu. plán
2009/2010 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K čeština Ostrava 2 volitelný odborný stu. plán
2009/2010 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K čeština Ostrava 2 volitelný odborný stu. plán
2009/2010 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K čeština Ostrava 2 volitelný odborný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku

Hodnocení Výuky



2009/2010 zimní