456-0548/01 – Scripting Programming Languages and their Applications (SPJA)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | doc. Dr. Ing. Eduard Sojka | Subject version guarantor | doc. Dr. Ing. Eduard Sojka |
Study level | undergraduate or graduate | Requirement | Optional |
Year | 2 | Semester | winter |
| | Study language | Czech |
Year of introduction | 2009/2010 | Year of cancellation | 2009/2010 |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
The main aim of the course is to familiarize students with features of scripting languages and their applications. Emphasis is put at practically significant applications.
Teaching methods
Lectures
Tutorials
Project work
Summary
In this course, the students get familiar with the aspects of modern scripting languages that are presented mainly by Python. The main emphasis is aimed at showing the rich set of usage of the language to solve frequent practical tasks. The way the problems are solved is compared with the solutions made in classic system languages like Java, C#, or C++. By this comparison, the advantage of scripting languages is shown. In this course, the main emphasis is stressed to pass information that is important for the students to construction practically useful and, for the end user, attractive applications. Moreover, these applications are relatively easy to implement while using scripting languages.
Compulsory literature:
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
Recommended literature:
Way of continuous check of knowledge in the course of semester
Samostatné vypracování zadaných úloh.
E-learning
Other requirements
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
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.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction