Am 8. Oktober 2025 startete der in meinem letzten Blogeintrag empfohlene Kurs „Python for Beginners“ bei OpenHPI. Das Kursmaterial ist gegenüber dem mir schon bekannten Python-Einführungskurs der Referenten Christian Drumm und Stephan Jacobs bei openSAP von 2022 neu ausgearbeitet, aber das grundlegende Schema scheint mir sehr vergleichbar geblieben zu sein.
Das Kursmaterial der zweiten Woche wurden heute (15. Oktober) freigegeben. Die Aufgaben, für die in der ersten und in der zweiten Kurswoche Punkte für den Leistungsnachweis vergeben werden, sind bis 24. Oktober zu erledigen. Man hat also für die erste Woche eine verlängerte Frist und kann auch noch in der nächsten Woche ohne zwangsläufigen Punktverlust in den Kurs einsteigen.
Der Kurs sorgt für ein notwendiges Python-Basiswissen und übt dieses Wissen mit zahlreichen meist sehr kleinen Programmieraufgaben ein. Das über den Kurs hinaus angestrebte Ziel ist, daß man möglichst viel und regelmäßig programmiert. Wenn man nicht mehr in einer Programmiersprache programmiert, ist es ziemlich normal, daß man sich irgendwann nicht mehr so gut an die syntaktischen Spezialitäten der Sprache erinnert. Aber wenn man die Herangehensweise an eine Aufgabe mehrfach geübt hat, kann man sich auch schnell wieder in die seinerzeit verwendeten Sprachmittel einlesen und auch schneller verstehen, wie man die Aufgabe in einer anderen Sprache löst.
Wie schon in meinem ersten Text erwähnt, setzt man auf Python und Jupyter Notebooks auf, beides ist also zu installieren. Das wird auch in einem vorangestellten Welcome-Teil erläutert und man darf im Forum nachfragen, wenn etwas nicht funktioniert. Für die bepunkteten Programmieraufgaben muß man nichts installieren, da klickt man sich einfach in ein vorbereitetes Umfeld bei CodeOcean ein. Dort darf/soll man ebenfalls bei Problemen fragen, in dem Fall richtet sich die Frage an die Lerngemeinschaft. Mit ihrer Aufgabe fertig gewordene Kursteilnehmer kriegen dann ab und zu noch eine Frage eines anderes Kursteilnehmers an die Gemeinschaft angezeigt, die sie beantworten können. Man sollte solche Möglichkeiten nutzen. Es mag Holprigkeiten geben, unter denen alle leiden, oder Unverständlichkeiten, die auf der Verwendung von für Anfänger schwer verständlichen Formulierungen beruhen.
Der Kurs legt zwar wie gesagt Grundlagen, die können aber schon zu sehr mächtigen Ergebnissen führen. Man kann das selbst sehen, wenn man die mittlerweile auf der Kurswebseite veröffentlichten „Course Contents“ gegen die passive Stimmung am Ende der dreiteiligen Doku „Die Odyssee der Zahlen“ hält. In der Doku wird abschließend ein Verschwinden der Zahlen so wie wir sie kennen für denkbar gehalten. Die Zahlen werden für uns verarbeitet, wir können sie zunehmend weder wie früher selbst nutzen noch mit ihnen umgehen.
Im Kurs beschäftigt man sich in der ersten Woche mit „variables, input/output, data types, and conditional statements“, also wie gelange ich zu einem einzelnen Wert, wie wird er im System aufgenommen, wie verarbeite ich den, frage ihn ab? In Woche 2 geht es mit „Lists and Loops“ potentiell schon um die in der Doku passiv erlebte Massendatenverarbeitung. Man packt seine Daten in Listen, gegebenenfalls in Listen von Listen und arbeitet die dann in Schleifen über die Listen ab, gegebenenfalls in verschachtelten Schleifen. „Complex Data Types“ in der dritten Woche verfeinert die Frage, wie man seine Daten darstellt, beispielsweise könnte man Namen mit Telefonnummern zusammenfassen wollen. „Reading and Writing Data“ in der vierten Woche gibt eine Vorstellung, wie man externe Massendaten in sein Programm einlesen, sie ändern und wieder speichern kann. Die „Functions“ in Woche 5 zeigen, wie man seine verarbeitenden Programme zusammenfassen kann. Seine Einzel- oder Massendaten übergibt man dann seiner selbsterstellen Function. Diese selbsterstellen Functions bereiten auf die in der letzten Kurswoche behandelten „Libraries“ vor. Bei größeren Programmieraufgaben werden regelmäßig „Libraries“ eingesetzt werden. Unzählige Libraries sind im Python-Universum für unterschiedlichste Einsatzzwecke verfügbar und können in das eigene Programm eingebunden werden. Sie stellen ihre Funktionalität durch zahlreiche aufrufbare Functions zur Verfügung, die man nach dem in der fünften Woche bekanntgemachten Schema nutzen kann.
Keine Kommentare:
Kommentar veröffentlichen