Course detail

Programming in Python

FSI-VP0-A Acad. year: 2026/2027 Summer semester

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.

Learning outcomes of the course unit

Prerequisites

Planned learning activities and teaching methods

Assesment methods and criteria linked to learning outcomes

Language of instruction

English

Aims

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

The study programmes with the given course

Programme B-STR-P: Engineering, Bachelor's
branch AIŘ: Applied Computer Science and Control, 4 credits, compulsory

Type of course unit

 

Lecture

26 hours, optionally

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 hours, compulsory

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.