Course detail

Programming in Python

FSI-VP0Acad. year: 2026/2027

This course introduces students to the basics of modern programming in Python and to the procedures for creating high-quality, clear, and maintainable code. Students will learn how to work with the development environment, versioning, and basic tools for code analysis. The course covers key elements of the language, such as data structures, functions, exceptions, generators, iterators, and the principles of object-oriented programming. It also includes the basics of graphical user interfaces, testing, program debugging, parallel processing, and application performance optimization. The course concludes with the practical use of Python for communication via REST API and gRPC and a summary of the knowledge acquired. The aim is to prepare students to independently create robust and efficient applications in Python.

Language of instruction

Czech

Number of ECTS credits

4

Mode of study

Not applicable.

Entry knowledge

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

Rules for evaluation and completion of the course

The active participation and mastering the assigned task.
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.

Aims

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.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Harms, D., Macdonald, K.: Začínáme programovat v jazyce Python. Computer Press 2012, ISBN 80-7226-799-X. (CS)

Recommended reading

Burris, E.: Programming in the Large with Design Patterns, Pretty Print Press, 2012 (EN)
Scipy lecture notes [on-line 1.10.2019: http://www.scipy-lectures.org/] (EN)

Classification of course in study plans

  • Programme B-KSI-P Bachelor's 3 year of study, summer semester, compulsory-optional
  • Programme B-MET-P Bachelor's 1 year of study, summer semester, elective
    2 year of study, summer semester, elective
  • Programme N-AAE-P Master's 1 year of study, summer semester, elective
  • Programme N-MET-P Master's 1 year of study, summer semester, elective

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

1. Development environments for programming in Python, PyCharm, VSCode
2 - 3. Basics of Python, language versions, environments, principles of writing code in Python. Code structuring. Comments. Static code analysis.
4. List and Dictionary, Slicing, Key parameter, functions, arguments, and exceptions
5. Generators, map, filter, yield
6. GUI
7. OOP, class, and interface
9. Testing and debugging programs in Python
10. Parallelism and processes
11. Application robustness and performance
12. Python and REST API, grpc
13. Summary, review

Computer-assisted exercise

26 hod., compulsory

Teacher / Lecturer

Syllabus

1. Introduction, brief history of programming language development, introduction to Python and the PyCharm and VS Code development environments.
2. Basic commands, data types and operators, functions, modules, and classes.
3. Code structuring, comments, documentation, static analysis, and exception handling.
4. List, Dictionary, Slicing, etc.
5. Data structures, efficient search implementation.
6. Programming applications with a graphical user interface.
7. and 8. OOP.
9. Application integration in a broader ecosystem, containerization
10. XML or JSON document processing, libraries for storage and search.
11. Stream handling
12. Modern development concepts, REST API, grpc
13. Summary.