Einführung in Python¶
Rahmen der Vorlesung¶
Inhaltliche Voraussetzung:¶
Die Module “Programmierung” und “Programmierpraktikum 1”, die mit der Sprache Java die folgenden Kompetenzbereiche enthalten:
Primitive Datentypen und Variablen
Kontrollstrukturen
Arrays
Standardein- und -ausgabe, Dateien
Programmstrukturen im Speicher (Heap, Stack)
Rekursion
Suchen und Sortieren (lineare Suche, binäre Suche, Insertion Sort, Mergesort)
Dynamische Datenstrukturen (Listen, Binäre Suchbäume, Hashing)
Objektorientierte Programmierung
Fehlerbehandlung / Debugging
Nutzung von IDEs
Versionsverwaltung
Code-Qualität
Test-Driven Development
Außerdem, wenn die Teilnehmer*innenzahl ansonsten zu groß ist: das Modul “Data Science”, in dem bereits erste Skripte in Python geschrieben wurden.
Ablauf¶
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.
Also beschäftigt sich der/die typische Student*in des Kurses mit 4 Anwendungen:
Die ‘große’ Anwendung, die in der Vorlesung entwickelt wird: Eine Wirtschaftssimulation
CYOA = Choose-your-own-Adventure, ein Spiel bzw. Spiele-Engine die im ersten Block im Rahmen von verschiedenen Übungsaufgaben entwickelt wird
Wesen, ein Spiel bzw. Spiele-Engine die im zweiten Block im Rahmen von verschiedenen Übungsaufgaben weiterentwickelt wird
Das Abschlussprojekt (individuell verschieden).
Kurzgeschichte Python¶
1991 BDFL Guido van Rossum veröffentlicht Python 0.9.0 als Nachfolger von ABC (Weitere Einflüsse: Modula-3, C, Haskell, Perl)
2000 Python 2.0 erscheint, die Entwicklung ist Community-getrieben
2008 Python 3.0
2018 BDFL tritt ab, ein Kommittee trifft nun die Entscheidungen über Python
2020 EOL für Python 2 (letzte Version: 2.7.18)
Literatur¶
Das Offizielle Python-Tutorial richtet sich, wie dieser Kurs, an Menschen, die bereits Programmieren können.
Vielleicht ist das Buch “Fluent Python” von Luciano Ramalho eine gute Empfehlung nach diesem Kurs, wenn man noch etwas tiefer in Python einsteigen möchte. Auch “CPython Internals” von Anthony Shaw könnte interessant sein.