Programming in Python (FSI-VP0)

Academic year 2025/2026
Supervisor: Ing. Jiří Kovář, Ph.D.  
Supervising institute: ÚAI all courses guaranted by this institute
Teaching language: Czech
Aims of the course unit:

Understand the Python scripting language and how to create Python applications. Learn the basics of creating a graphical user interface in Python. The student will be able to create an application using REST API/grpc.
Upon successful completion of the course, students will be able to apply knowledge and understanding of the basic features and role of the Python scripting language, its syntax and semantics.

Learning outcomes and competences:
 
Prerequisites:
 
Course contents:

Students will learn about the modern scripting language Python, which is currently the most widely used programming language ever.

The knowledge gained will allow the student to pursue many areas of development such as machine-learning, data analysis, testing or artificial intelligence.

Teaching methods and criteria:
 
Assesment methods and criteria linked to learning outcomes:
 
Controlled participation in lessons:
 
Type of course unit:
    Lecture  13 × 2 hrs. optionally                  
    Computer-assisted exercise  13 × 2 hrs. compulsory                  
Course curriculum:
    Lecture

1. Python, PyCharm, VSCode development environment
2 - 3. Python basics, language versions, environment, principles of writing Python code. Structuring code. Comments. Static code analysis.
4. List and Dictionary, Slicing, Key parameter
5. Functions, arguments and exceptions
6. Generators, map, filter, yield
7. Class and interface
9. Testing and debugging a Python program
10. Parallelism and processes
11. Application robustness and performance
12. Python and REST API, grpc
13. Summarization

    Computer-assisted exercise

1. Introduction, brief history of the development of programming languages, introduction of Python and PyCharm development environment, VS Code.
2. Basic commands, data types and operators, functions, modules and classes
3. Flask, Django and exception handling
4. Regular expressions and the Python language
5. Application programming with graphical user interface.
6. Data structures, efficient search implementation
7. Standard libraries in Python (1)
8. Standard libraries in Python (2)
9. Application integration in the wider ecosystem, containerization
10. XML or JSON document processing, storage and retrieval libraries.
11. Stream handling, integration with RabbitMQ/Kafka.
12. Modern development concepts, REST API, grpc.
13. Summary.

Literature - fundamental:
1. Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press 2012, ISBN 80-7226-799-X.
Literature - recommended:
1. Scipy lecture notes [on-line 1.10.2019: http://www.scipy-lectures.org/]
2. Burris, E.: Programming in the Large with Design Patterns, Pretty Print Press, 2012
The study programmes with the given course:
Programme Study form Branch Spec. Final classification   Course-unit credits     Obligation     Level     Year     Semester  
N-MET-P full-time study --- no specialisation -- Cr,Ex 4 Compulsory 2 1 S
B-KSI-P full-time study --- no specialisation -- Cr,Ex 4 Compulsory-optional 1 3 S
B-MET-P full-time study --- no specialisation -- Cr,Ex 4 Compulsory 1 1 S
B-MET-P full-time study --- no specialisation -- Cr,Ex 4 Compulsory 1 2 S
N-AAE-P full-time study --- no specialisation -- Cr,Ex 4 Elective 2 1 S