Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Rahmen (Voraussetzungen, Ablauf)

Heinrich-Heine-Universität Düsseldorf

Einführung in Python

Wie dieses Skript lesen

Das Skript besteht aus zwei Sorten Kapiteln, und der Unterschied ist praktisch relevant:

print(2 + 3)
# Output: 5

Diese Blöcke werden von einem Skript des Projekts regelmäßig ausgeführt und mit der angegebenen Ausgabe verglichen; dieser hier ist beim letzten Lauf mitgeprüft worden. Was in einem solchen Block steht, stimmt also — und Sie können ihn in Ihren eigenen Interpreter kopieren. Blöcke, die absichtlich fehlschlagen, Eingaben erwarten oder Netz brauchen, sind von der Prüfung ausgenommen.

Lesereihenfolge. Teil 1 baut aufeinander auf und wird von vorn gelesen. Teil 2 (Werkzeuge) und Teil 3 (Anwendungsentwicklung) sind weitgehend unabhängig voneinander — dort kann man das Kapitel lesen, das gerade gebraucht wird. Die Praxisbeispiele gehören inhaltlich zur Vorlesung und ergeben in der Reihenfolge practical-0, dann practical-1 am meisten Sinn.

Wenn ein Begriff fehlt, steht er wahrscheinlich im Glossar am Ende von Teil 1 — mit einem Satz Erklärung und einem Link in das Kapitel, das ihn einführt.

Setup in 10 Minuten

Sie brauchen genau ein Werkzeug: uv. Es installiert Python, verwaltet Abhängigkeiten und startet Programme, und ersetzt damit pip, virtualenv, pipx und poetry (ausführlich im Kapitel Packaging).

# 1. uv installieren
curl -LsSf https://astral.sh/uv/install.sh | sh          # Linux/macOS
# Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# 2. Python holen (dieses Skript wird mit 3.14 gebaut und geprüft; 3.13 genügt für fast alles)
uv python install 3.14

# 3. Ein Projekt anlegen
uv init mein-projekt && cd mein-projekt
uv add requests                # eine Abhängigkeit hinzufügen
uv run main.py                 # das Programm starten

# 4. Zum Ausprobieren: eine interaktive Sitzung
uv run python

Schritt 3 legt eine pyproject.toml, ein uv.lock und eine virtuelle Umgebung an, ohne dass Sie eine davon von Hand anfassen müssen. uv run sorgt dafür, dass Ihr Programm immer die Umgebung des Projekts benutzt — das ist der Befehl, der Ihnen die meisten Umgebungsprobleme erspart.

Ein Kapitel dieses Skripts selbst ausführen: die .ipynb-Datei herunterladen, dann

uv run --with jupyterlab jupyter lab

Einen Editor wählen. Zum Anfangen genügt jeder Texteditor mit Python-Unterstützung; VS Code und PyCharm sind die verbreitetsten. Die Unterschiede — und warum ein Editor überhaupt weiß, was Ihr Code bedeutet — stehen im Kapitel IDEs und Editoren.

Falls Ihnen Programmiergrundlagen fehlen, ist dieser Kurs die falsche Reihenfolge: Er setzt Java-Kenntnisse voraus und erklärt Python als zweite Sprache. Zum Aufholen eignen sich python-kurs.eu (deutschsprachig, von Grund auf) und die Scientific Python Lectures (englisch, mit Blick auf Datenverarbeitung).

Rahmen der Vorlesung

Inhaltliche Voraussetzung:

Die Module “Programmierung” und “Programmierpraktikum 1”, die mit der Sprache Java die folgenden Kompetenzbereiche enthalten:

Außerdem, wenn die Teilnehmer*innenzahl ansonsten zu groß ist: das Modul “Data Science”, in dem bereits erste Skripte in Python geschrieben wurden.

Ablauf

Übungsbetreuung im Sommersemester 2026: Renato Sprenger-Vuković.

In der Vorlesung wird zu jeder Sitzung ein Abschnitt des Skripts bearbeitet (den jede*r zuvor bereits gelesen haben sollte), den wir kurz gemeinsam überfliegen und dann die Konzepte teilweise umsetzen in eine Anwendung, die im Laufe der Vorlesung entwickelt wird. In den Übungsaufgaben werden die gleichen Abschnitte anhand einfacherer Aufgaben, teilweise isoliert voneinander geübt. Am Ende der Vorlesung ist eine große Anwendung entwickelt worden, in der die meisten Konzepte aus der Vorlesung umgesetzt sind und das Abschlussprojekt des Moduls ist ebenfalls eine große Anwendung, in der die Konzepte aus der Vorlesung möglichst sinnvoll umgesetzt worden sind.

Die vier Anwendungen

Also beschäftigt sich der/die typische Student*in des Kurses mit vier Anwendungen. Sie laufen nebeneinander her, und jede hat einen anderen Zweck:

Anwendungwo sie entstehtwozu sie da istim Skript
Wirtschaftssimulationin der Vorlesung, gemeinsamzeigt jedes neue Konzept sofort an einem wachsenden Programmpractical-0, practical-1
CYOA (Choose-your-own-Adventure)Übungsblätter 1–5Ihr eigenes Programm von der ersten Zeile an — klein genug, um es ganz zu überblickenBlätter 01–05, Testbeispiele in Testing
Wesen (und BamBam)Übungsblätter 4–6, 8, 12fremder, alter Code, den man zum Laufen bringen, verstehen und verbessern mussBlätter 04, 05, 06, 08, 12
Abschlussprojektab Blatt 6, individuelldie Prüfungsleistung; alles andere ist Vorbereitung daraufHausarbeit

Dazu kommt der Koffein-Tracker als durchgehendes Beispiel für Nutzeroberflächen — dieselbe Anwendung als Kommandozeile, als Terminal-Oberfläche und als Web-API, damit der Unterschied sichtbar wird (User Interfaces).

Der Ablauf im Semester

Neben den wöchentlichen Übungsaufgaben gibt es einige Termine, an denen etwas abgegeben oder gezeigt wird. Sie stehen hier zusammen, damit man nicht in zwölf Blättern danach suchen muss:

wannwas
laufendAnwesenheitsaufgaben: die Übungsaufgaben der Woche, bearbeitet in der Präsenzübung
viermal im Semestereigene Bearbeitung erklären — wer den eigenen Code in der Übungsgruppe nicht erklären kann, gilt für die Woche als nicht mitarbeitend. Diese Voraussetzung muss erfüllt sein, bevor ein Thema für das Abschlussprojekt festgelegt werden kann
Blatt 6Bewertungskriterien für das Abschlussprojekt werden gemeinsam erarbeitet
Blatt 7Projektskizze abgeben (nicht verbindlich) und zwei fremde Skizzen bewerten
Blatt 8Datenstrukturen und Schnittstellen des eigenen Projekts festlegen; Peer-Feedback über ILIAS
Blatt 10fremde Implementierungspläne bewerten
Blatt 11Definition of Done für das eigene Projekt aufschreiben; Lauf aus frischem Klon
danachHausarbeit: Programmierprojekt plus Projektbericht, Bearbeitungszeitraum ca. 4 Wochen — Kriterien und Notenmodell in Hausarbeit

Kurzgeschichte Python

Literatur