Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2025/2026

Programming in Python 3

Display time-table
Code Completion Credits Range Language
18YPPY3 Z 2 2C English
Course guarantor:
Miroslav Virius
Lecturer:
Jakub Klinkovský
Tutor:
Jakub Klinkovský
Supervisor:
Department of Software Engineering
Synopsis:

This advanced course is intended for students who have basic experience with programming in Python and using its libraries. It introduces students to advanced concepts of the Python language and modules they are based on.

Requirements:
Syllabus of lectures:

1. Overall conception of the Python language, virtual environments

2. Details on multiple inheritance

3. Processing exception tracebacks

4. Annotations in advanced cases

5. Protocols and static duck typing

6. Decorators and aspect-oriented programming

7. Advanced iterators and generators, yield-expressions

8. Metaclasses and modification of class objects

9. Modification of access to attributes

10. Dunders and operator overloading

11. Descriptors

12. Slots and implementation hiding

13. Asynchronous operations and coroutines

14. Threads

15. Parallelism via multiprocessing

16. Communication with external modules in C and C++ languages

Syllabus of tutorials:
Study Objective:
Study materials:

Recommended literature:

[1] R. Pecinovský, Python 3.14 Podrobná příručka algoritmických konstrukcí jazyka. Praha: Grada Publishing, 2025, ISBN 978-80-271-6061-7.

[2] R. Pecinovský, Python 3.14 Podrobná příručka objektových konstrukcí jazyka. Praha: Grada Publishing, 2025, ISBN 978-80-271-6062-4.

[3] A. Shaw, CPython Internals: Your Guide to the Python 3 Interpreter. Real Python 2021. ISBN 9781775093343.

Note:
Time-table for winter semester 2025/2026:
Time-table is not available yet
Time-table for summer semester 2025/2026:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2026-02-13
For updated information see http://bilakniha.cvut.cz/en/predmet8392606.html