Programming in Python 3
| 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:
-
- Quantum Technologies (elective course)
- Physical Engineering - Solid State Engineering (elective course)