Programming in Python 3
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
18PPY3 | Z | 2 | 2C | Czech |
- Course guarantor:
- Jakub Klinkovský
- Lecturer:
- Rudolf Pecinovský
- Tutor:
- Rudolf Pecinovský
- 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 – Kompletní příručka jazyka pro verzi 3.12. Grada 2023.
[2] A. Shaw, CPython Internals: Your Guide to the Python 3 Interpreter. Real Python 2021. ISBN 9781775093343.
- Note:
- Time-table for winter semester 2024/2025:
- Time-table is not available yet
- Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Aplikace informatiky v přírodních vědách (elective course)
- Aplikované matematicko-stochastické metody (compulsory elective course, elective course)
- Aplikovaná informatika (elective course)
- Fyzikální inženýrství - Inženýrství pevných látek (elective course)