- Nummer
- pip
- Leitung
- -
- ECTS
- 3.0
- Anspruchsniveau
- advanced
- Inhaltsübersicht
Dieses Modul vermittelt die wichtigsten Konzepte, Aspekte und Funktionalitäten der Programmierung in Python. Die Studierenden lernen die Eigenschaften einer interpretierten Programmiersprache und der dynamischen Typisierung kennen. Sie lernen Pythons Datentypen und Kontrollstrukturen einzusetzen und ihre Eigenheiten zu verstehen. Darauf aufbauend werden das Python Objektmodell, moderne Programmiertechniken, funktionale und objektorientierte Paradigmen, Nebenläufigkeit sowie Werkzeuge für die professionelle Python-Entwicklung behandelt.
Kernthemen:
- Erstellen und Verwenden von Scripts, Kommandozeilen-Programmen, Notebooks, und Bibliotheken
- Python-Objektmodell: Objektinitialisierung, Vererbung, Operator-Overloading
- Fortgeschrittene Sprachkonzepte wie Generatoren, Lazyness, Dekoratoren, Contextmanager und Metaklassen
- Strukturierung, Packaging und Buildprozesse von Python-Projekten
- Einsatz von Entwicklungswerkzeugen wie Typprüfung, Linting, Debugging, Profiling und automatisiertem Testen
- Praktische Anwendung zentraler Python-Bibliotheken
Weitere optionale Themen:
- Nebenläufigkeit mit Async-IO, Multithreading und Multiprocessing sowie Eigenschaften der Python-Laufzeitumgebung
- Memory Management und Garbage Collection
- Erweiterung von Python durch FFI zur Integration nativer Bibliotheken (z. B. C oder Rust mit ctypes, cffi, pyo3)
- Lernziele
Studierende können wohlstrukturierten Code in Python schreiben, untersuchen und erweitern.
Sie können das Python-Datenmodell erklären und spezielle Methoden zur Implementierung eigener Klassen und Sprachmechanismen nutzen.
Sie können Programme und Bibliotheken unter Verwendung fortgeschrittener Python-Sprachkonzepte entwickeln.
Sie können gängige Werkzeuge zur Qualitätssicherung, Typprüfung und zum automatisierten Testen von Python-Software einsetzen.
- Empfohlene Vorkenntnisse
Programmieren 2 (prog2)
- Leistungsbewertung
- Erfahrungsnote