Course detail

Programming in Python

FSI-9PVPAcad. year: 2020/2021

Students will get acquainted with modern scripting language Python.

Learning outcomes of the course unit

Having successfully completed the course, students will be able to use knowledge and understanding of the nature of scripting and the role of scripting languages, the syntax and semantics of Python.


Fundamental level of programming in course 1IN (Informatics).


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press, ISBN 80-7226-799-X. (CS)
Harms, D., Macdonald, K.: The Quick Python Book. Manning Publications, 2000 (EN)
Burris, E.: Programming in the Large with Design Patterns, Pretty Print Press, 2012 (EN)
Johansson, R.: Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib, second edition, Apress, 2019 (EN)

Planned learning activities and teaching methods

School game and programming by using fun examples.

Assesment methods and criteria linked to learning outcomes

The active participation and mastering the assigned task.

Language of instruction

Czech, English

Work placements

Not applicable.


To examine the topic of scripting language Python and designo of their applications. To understand GUI programming using Python.

Specification of controlled education, way of implementation and compensation for absences

Education runs according to week schedules. Attendance at the seminars is required. The form of compensation of missed seminars is fully in the competence of a tutor.

Classification of course in study plans

  • Programme D-APM-K Doctoral, 1. year of study, summer semester, 0 credits, recommended

  • Programme D4P-P Doctoral

    branch D-APM , 1. year of study, summer semester, 0 credits, recommended

  • Programme D4F-P Doctoral

    branch D-FMI , 1. year of study, summer semester, 0 credits, recommended

Type of course unit



20 hours, optionally

Teacher / Lecturer


1. Introduction. Basic properties, history of Python. Comparison with other languages.
2. Basics of language. Code structure, comments. Variables, data types. Operators and expressions. Numbers and strings. Collection data types, sequences, sets. Working with strings, formatting. Program Run Controls (Branch Commands. Cycle Commands)
3. Functions and procedures. Definition of functions and procedures. Passing parameters. Variable number of parameters. Functions for working with collections.
4. Modules and packages. Introduction to modules. Creating custom modules and packages. Errors and Exceptions. Types, invocation, capture, and exception handling.
5. Working with files. Opening files, reading, writing. Pickle, json, shelve modules
6. Scripts. Create a script and run it. Command-line arguments. Forwarding. Start an external program. Scripts on UNIX and Windows
7. Object oriented programming. Classes, attributes and methods. Magic methods. Inheritance and multiple inheritance. More OOP features in Python
8. Applications: Networks, HTTP client, SMTP, simple HTTP server, remote procedure call XML-RPC
9.-10. Application: Snakes game