Skip to main content
Skip header
Terminated in academic year 2021/2022

Scripting Programming Languages and their Applications

Type of study Bachelor
Language of instruction Czech
Code 460-2015/01
Abbreviation SPJA
Course title Scripting Programming Languages and their Applications
Credits 4
Coordinating department Department of Computer Science
Course coordinator doc. Dr. Ing. Eduard Sojka

Subject syllabus

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.

Literature

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

Advised literature

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