456-0548/01 – Scripting Programming Languages and their Applications (SPJA)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantordoc. Dr. Ing. Eduard SojkaSubject version guarantordoc. Dr. Ing. Eduard Sojka
Study levelundergraduate or graduateRequirementChoice-compulsory
Year3Semesterwinter
Study languageCzech
Year of introduction2009/2010Year of cancellation2009/2010
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
BOH126 Ing. Ada Böhm, Ph.D.
GAU01 Ing. Jan Gaura, Ph.D.
VAS220 Ing. Oldřich Vašut
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 2+2
Part-time Graded credit 10+4

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:

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

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

Full-time form (validity from: 2009/2010 Winter semester, validity until: 2010/2011 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of pointsMax. počet pokusů
Graded exercises evaluation Graded credit 100 (100) 51 3
        Závěrečná písemná práce Written test 30  15
        Závěrečný pohovor k příkladům Other task type 20  10
        Odevzdání souboru pěti příkladů Other task type 50  25
Mandatory attendence participation:

Show history

Conditions for subject completion and attendance at the exercises within ISP:

Show history

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2009/2010 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P Czech Ostrava 3 Choice-compulsory study plan
2009/2010 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P Czech Ostrava 2 Optional study plan
2009/2010 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P Czech Ostrava 2 Optional study plan
2009/2010 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 2 Optional study plan
2009/2010 (B2647) Information and Communication Technology (2612R059) Mobile Technology P Czech Ostrava 2 Optional study plan
2009/2010 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K Czech Ostrava 3 Choice-compulsory study plan
2009/2010 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K Czech Ostrava 2 Optional study plan
2009/2010 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K Czech Ostrava 2 Optional study plan
2009/2010 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 2 Optional study plan
2009/2010 (B2647) Information and Communication Technology (2612R059) Mobile Technology K Czech Ostrava 2 Optional study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner

Assessment of instruction



2009/2010 Winter