Themen und Termine WS 2025#

Woche 0 = KW 40#

Do 2025-10-02, 14:30 Uhr: Studienstart, Begrüßung

soziale Gruppen sind überlebenswichtig

Python ist eine Sprache.

  • Eine Sprache kann man nur lernen, indem man sie spricht, das Sprechen übt. (Jemand anderen sprechen lassen führt nicht zum Lernen – auch dann nicht, wenn dieser andere eine KI ist.)

  • 10 Min täglich Python!

Welcher Rechner?

  • Rechner 1: “Brot und Butter”, rubust; Intel-Chipsatz (Win, Linux), maximal 500€; hostet auch das dsci-lab

  • Rechner 2: dsci-lab

  • Rechner 3: feines Gerät, ggf. teuer: bleibt zuhause, enthält den Backup

Rechner 2: https://www.jbusse.de/dsci-lab/

  • die Prüfungsumgebung ab der ersten Woche auch zuhause kennenlernen, ausprobieren

  • kein Bruch zwischen täglichem Üben, Leistungsnachweis, Klausur

  • Das dsci-lab läuft unter Linux. Linux ist im Modulhandbuch explizit als Lerninhalt aufgeführt. Anteil von Linux in der Klausur: Sich im dsci-lab grundlegend zurechtfinden.

Software im dsci-lab

freiwillig, aber dringend empfohlen: Codewars!

Klausur

  • praktisches Programmieren am Rechner, im Rechner-Pool – ohne Internet, ohne KI.

  • erlaubte Hilfsmittel: 1 Blatt (also 2 Seiten) DIN A4 handschriftlich, sonst nix.

Kurzer Einblick in Jupyter Notebook

HAUSAUFGABE

  • mindestens: dsci-lab OVA herunterladen

  • idealerweise: dsci-lab installieren

Woche 1 (=KW 41)#

Noch kein Übungsbetrieb

ACHTUNG: In dieser Woche ist die Vorlesung Di 2025-10-07 9-10:30 Uhr verschoben auf Mi 2025-10-08 9-10:30 Uhr.

  • “hybrid”, d.h. Teilnahme ist in Präsenz im Hörsaal und über Zoom von zuhause aus möglich

  • Zoom-Einwähldaten siehe Moodle-Gruppe.

Mi 9-10:30 Uhr (statt Di 9-10:30 Uhr, nur in dieser Woche): Grundlegende Einführung in

  • Themen: dsci-lab | Linux | Markdown | Publizieren von Jupyter Notebooks mit dem Paket Jupyterbook

  • Ziel: allgemeines Kontextwissen für das Programmieren mit Python

Do 14:30 - 16 Uhr: Grundlegende Basics von Python

Zusammenfassungttps://www.jbusse.de/python-101/woche_01.html

Woche 2 = KW 42#

Übung

  • jedenfalls WIF Gruppe 1 gKW

  • gerne auch alles anderen Gruppen!

  • Voraussetzung: dsci-lab wurde (idealerweise zuhause) auf die eigene Festplatte heruntergeladen

  • Kennenlernen des dsci-lab

Vorlesung:

dsci-lab:

Python: Listen, Dicts, Sets

Python: konventionelle prozedurale Programmierung

Zusammenfassung heute:

Zusammenfassung JB vieler Elemente aus Runde 1 (wird fortgesetzt):

Woche 3 = KW 43#

Übung

  • jedenfalls WIF Gruppe 2 uKW

  • gerne auch alles anderen Gruppen!

  • Voraussetzung: dsci-lab wurde (idealerweise zuhause) auf die eigene Festplatte heruntergeladen

  • Kennenlernen des dsci-lab

Kern von Runde 1, ganz wichtig:

Ergänzung:

Woche 4#

Whirlwind Funktionen definieren

Besprechung der Klausur im SS2024: Keine Lösungen, aber Lösungshinweise

“LN” = “Übungsblatt”

Rückblick auf Runde 1#

Woche 5#

f-strings

EInführung in die Kernaufgabe von Runde 2:

  • Personen und ihre Hobbies

String Manipulation

Runde 2#

typische Themen für Runde 2:

Tabellen: pandas DataFrame als {Dict| Liste} von Listen, zeilen- und Spaltenweise

Dateien lesen und schreiben

  • text

    • auch Konfigurtationsdateien, z.B.

  • csv “zu Fuß”: zunächst nur Liste von Listen

  • beliebig tief verschachtelt: json

  • mal sehen: yaml

Pakete

  • random

  • regex?

Woche 6#

Rekursion

CSV, pandas dataframe

Woche7#

Textdatei lesen und schreiben: with

Module

Die Bibliothek Pandas

Alles zusammen:

Code Wars

Woche 8#

Vorlesung Fr 2024-12-06: keine Präsenz, sondern ausschließlich ZOOM

Themen:

Woche 9#

Übungen: Probeklausur im ExaHM-Pool: Beide Übungsgruppen am Mi, 11.12.2024, 08:45-12:00 Uhr

Vorlesung Fr 2024-12-12 (Präsenz, Pflicht, kein Zoom)

Woche 10#

Letzte Vl vor Weihnachten, wieder ausschließlich mit Zoom

Orga

Thema heute: Text bearbeiten

Woche 11#

Fr 08:50 Uhr: Vorlesung in Präsenz, Zoom läuft mit

Fr 10:30 Uhr Checkup: “Wer hat den LN in der Tasche?”

  • Aus Datenschutzgründen leider nur in Präsenz möglich

  • Kriterium: Ü3, Ü4 und Ü5 müssen abgegeben sein

PROBEKLAUSUR

  • Mi, 15.01.2025, ab 08:30 Uhr im Raum C113

  • ggf auch erst 10:30 Uhr, noch klären

Wer den LN noch nicht in der Tasche hat Karenz: Übungsblatt 7 kommende Woche Mi 10:30 Uhr in einer weiteren Probe-Klausur nachweisen!

Woche 12, 2025-01-17#

Wer benötigt noch den LN? Bitte persönlich vorsprechen, wer noch keinen Haken hat.

  • Do 12:50 Uhr K0.18

  • Fr 10:30 Uhr in der Vorlesung

08:50 - 10:20 Uhr Vorlesung in Präsenz, Zoom läuft wie üblich mit.

“Was ist wichtig?”#

übergreifende Kompetenzen, Ziel von Python-101

  • Textdatei – insbesondere CSV-Datei – als Textdatei (und/oder mit Pandsas) einlesen und in Dict/Liste von Dictei/Liste überführen können

  • Dict/Liste von Dict/Liste/String kreuz und quer auswerten; typisch: Testklausur Aufgabe 4

  • Wechselseitige Umwandlung Dict – Liste – Set. Anwendung u.A. auch: Wie viele gleiche / verschiedene Elemente enthält der String / das Dict etc.

Wichtig

  • Basis, conditio sine qua non: “Grundstruktur Listenbearbeitung”

  • List/Dict/Set Comprehension

  • set-Operationen

Sonstige

  • Markdown

  • Umwandlung float, int, str; Operatoren, insbes. Division, ganzzahige Division, Modulo

  • f-strings

  • split mit regex

  • zip()

Kommt nicht ‘dran

  • regex selbst entwickeln

  • Pandas (außer csv einlesen und in Python Datenstruktur exportieren)

weitere Übemöglichkeiten:

  • jede Menge “Fingerübungen”, siehe https://www.jbusse.de/jvdp-jb/f.html (technisch leider z.T. nicht mehr aktuell, ipynb wirft Fehler – aber im Prinzip habe Sie hier Aufgaben)

FAQ

  • Hat man Zugang zu Ihrer Website als Hilfsmittel in der Klausur?

    • leider nein – auch nicnt in der VM

  • Wie viele Punkte hat die Klausur?

    • 40; ab 18 Pkte die 4.0 (unverbindliche Angabe)

Woche 13, 2025-01-24#

Übungsbetrieb beendet

  • Mittwochs-Übung ist beendet

Do 12:50 Uhr in unserem üblichen Übungsraum K0.18: JB gerne für Fragen zur Vefügung (aber nicht: “was kommt in der Klausur dran?”)

  • vorletzte Gelegenheit für Nachfragen bzgl. LN

Freitag 08:50 Uhr: letzte Vorlesung vor der Klausur, in Präsenz, Zoom läuft wie üblich mit.

  • letzte Gelegenheit für Nachfragen bzgl. LN

Klausur 2025-01-27#

Details siehe

Gruppeneinteilung:

Übersicht 2025-01-24#

Liste durchgehen: “direkt” oder über index (mit index auch gleichzeitig durch mehrere Listen)

Datei als Text einlesen, 2x splitten, Ergebnis: Liste (oder dict) von Listen (oder dicts)

spaltenweise und zeilenweise Darstellung einer Tabelle