Skip to main content
Skip header

Scripting Programming Languages and their Applications

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2015/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Optional
Level of Course Unit *First Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
HOL570Ing. Michael Holuša, Ph.D.
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.
Learning Outcomes of the Course Unit
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.
Course Contents
Lectures

1. Scripting languages. Motivation to their use. Main aspects of some popular scripting languages- Ruby, JavaScript, Perl, Python, Tcl. Perspectives of scripting languages.
2. Python programming language, history and properties.
3. Python language constructions: flow control, function definition, argument passing, function calling.
4. Python language constructions: collections, iterators, generators, closures, reflection. Examples of using these techniques and comparison to other technologies (Java or C#).
5. Python and object oriented programming: definition of classes, methods, and variables.
6. Using design patterns for effective implementation of object oriented code.
7. Python standard library. Examples of use.
8. Using Python for web development. Using embedded web server. Python web frameworks.
9. Implementation of "server-side" web application. Implementation of "client-side" application. Creating forms. Communication with a client by JavaScript.
10. Web services, data exchange using XML and JSON. Implementation of web services using REST method.
11. Connection Python programs to a database and a spatial database. Creating geographic web applications.
12. GUI construction using Python.
13. Game and multimedia applications programming using Python.
14. Parallel programming in Python.

Exercises

1. Getting in touch with development environment. Example of the interactive mode. Creating scripts.
2. Python language constructions: flow control, using list and dictionary type.
3. Function definitions, argument passing, function calls, lambda function notation.
4. Working with collections, iterators, generators, closures, and reflection. Examples of their usage and comparison to other languages.
5. Example of object oriented programming: definition of classes, methods, and variables.
6. Advanced techniques of object oriented programming, design patterns and their usage.
7. Introduction to the Python standard library. Working with embedded web server, remote procedure call, XML library ElementTree.
8. Programming web applications. Realisation of object oriented model of a URI. Creating forms. Communication with a client by JavaScript.
9. Advanced web programming. Data exchange with a client using XML and JSON.
10. Web service implementation using the REST architecture.
11. Using database connection. Spatial data handling.
12. GUI construction using Python.
13. Programming with threads and processes.
14. Final test.
Recommended or Required Reading
Required Reading:
M. Lutz, Learning Python, Oreilly, ISBN: 978-0-596-15806-4
M. Lutz, Programming Python, 2nd Edition, Oreilly & Associates Inc, 2001, ISBN-13: 9780596000851 / ISBN-10: 0596000855
On-Line Python documentation: docs.python.org
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 Reading:
S. Hellegouarch, CherryPy Essentials: Rapid Python Web Application Development, Packt Publishing Limited, ISBN: 1904811841
S. Hellegouarch, CherryPy Essentials: Rapid Python Web Application Development, Packt Publishing Limited, ISBN: 1904811841
Planned learning activities and teaching methods
Lectures, Tutorials, Project work
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded exercises evaluationGraded credit100 (100)51
        Final TestWritten test40 15
        Exercises HandoverProject30 10
        Handout of tasks given at exercisesLaboratory work30 6