460-2015/02 – 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íPovinnostvolitelný odborný
Ročník2Semestrzimní
Jazyk výukyangličtina
Rok zavedení2015/2016Rok zrušení2022/2023
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
GAU01 Ing. Jan Gaura, Ph.D.
HOL570 Ing. Michael Holuša, Ph.D.
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

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. 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: 2015/2016 zimní semestr, platnost do: 2022/2023 letní 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ísemka Písemka 40  15
        Odevzdání úloh zadaných na cvičení Laboratorní práce 30  6
        Odevzdání souboru úloh Projekt 30  10
Rozsah povinné účasti: Účast na cvičeních je povinná a je kontrolována. S rozsahem povinné účastí seznámí studenty garant předmětu na začátku semestru.

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP: Splnění všech povinných úkolů v individuálně dohodnutých termínech. Rozsah účasti na cvičeních si student na začátku semestru dohodne s garantem předmětu.

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2022/2023 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 3 povinný stu. plán
2019/2020 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 3 povinný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 3 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 3 povinný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 3 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 3 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 3 povinný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 3 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 3 povinný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 3 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 3 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K anglič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



2018/2019 zimní
2017/2018 zimní
2016/2017 zimní