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
Jupyter Notebook: https://jupyter.org/
Myst Markdown
Warum Markdown lernen?
derzeit das universal-Format in GitHub u.V.m.
auch ein Habitus, eine Herangehensweise, wie man sich eine Sprache – hier Markdown – erschließt
online-Tools: Nicht alle sind korrekt! Gut ist https://mystmd.org/sandbox
Anaconda oder Miniconda
ggf. auch https://docs.freeplane.org/
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
https://www.jbusse.de/jvdp-jb/jb-03-Semantics-Variables.html#
Python Variables Are Pointers
Everything Is an Object
https://www.jbusse.de/jvdp-jb/jb-04-Semantics-Operators.html#
NICHT: Bitwise Operations
https://www.jbusse.de/jvdp-jb/jb-05-Built-in-Scalar-Types.html
NICHT: Complex Numbers
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:
Einrichten von https://www.jbusse.de/dsci-lab/h_shared-folders.html
Python: Listen, Dicts, Sets
https://www.jbusse.de/jvdp-jb/jb-06-Built-in-Data-Structures.html#lists
https://www.jbusse.de/jvdp-jb/jb-06-Built-in-Data-Structures.html#dictionaries
https://www.jbusse.de/jvdp-jb/jb-06-Built-in-Data-Structures.html#sets
Python: konventionelle prozedurale Programmierung
https://www.jbusse.de/jvdp-jb/jb-07-Control-Flow-Statements.html#conditional-statements-if-elif-else
https://www.jbusse.de/jvdp-jb/jb-07-Control-Flow-Statements.html#for-loops
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:
https://www.jbusse.de/jvdp-jb/e_grundstruktur_listenbearbeitung.html
https://www.jbusse.de/jvdp-jb/jb-11-List-Comprehensions.html
Ergänzung:
Woche 4#
Whirlwind Funktionen definieren
https://www.jbusse.de/jvdp-jb/jb-08-Defining-Functions.html
minimaler erster Einstieg
heute noch NICHT: *args and **kwargs: Flexible Arguments; Anonymous (lambda) Functions
Besprechung der Klausur im SS2024: Keine Lösungen, aber Lösungshinweise
“LN” = “Übungsblatt”
LN 1
LN 2
Rückblick auf Runde 1#
immutables vs. mutables
Typ eines Objektes
“Sliceables”
Listen
Tupel
Indexing und Slicing
Dicts
Sets
Funktionen
Schleifen
Durchgehen durch eine Liste
https://www.jbusse.de/python-101/woche_03.html#durchgehen-durch-eine-liste
Werte an sich sind interessant
Werte als Schlüssel,
Durchgehen durch ein Dict
Schleifenvariable als Key verwenden
List Comprehension
Woche 5#
f-strings
Google Bildersuche nach “python f-string cheat sheet” liefert viiieeele Ergebnisse, z.B. auch das hier:
Doku:
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#
Exkurs: RegEx
re.split(), Doku: https://docs.python.org/3/library/re.html#re.splitEinführung in die 1A Website: https://regex101.com/
Rekursion
Fakultäts-Funktion
Tree-Traversal (schwieriger)
CSV, pandas dataframe
Woche 7#
Textdatei lesen und schreiben: with
Module
Die Bibliothek Pandas
Alles zusammen:
Code Wars
Woche 8#
Probeklausur mit ExaHM, Raum C1.13
Gruppe gKW, KW50: Di 2025-12-09
Gruppe uKW, KW 51: Di 2025-12-16
Vorlesung Di 2025-12-23 keine Präsenz, sondern ausschließlich ZOOM
Themen:
LV-Evaluation
Gute Zusammenfassung: https://llego.dev/posts/understanding-nested-data-structures-in-python/
zip nochmals ausführlich? siehe
Codewars: Vergleich Schwierigkeit Codewars und Klausur
Synchrone textbasierte Kollaboration, vielseitig einsetzbar: https://yopad.eu/
Praxis: Text-Funktionen
Woche 9#
Linux
import osimport globpathlib: https://miguendes.me/python-pathlib; dort die Abbildung unter https://miguendes.me/python-pathlib#heading-the-anatomy-of-a-pathlibpath
Anwendungen: https://automatetheboringstuff.com/1e/chapter8/
LN 4 und LN 5 sind online! (Abgabe vor den Weihnachtsferien.)
Besprechung einer alten Klausur:
Optional: Pandas Dataframes
Woche 10, KW 50#
Di 08:50 Uhr:
Probeklausur mit ExaHM, Raum C1.13
Woche 11, KW 51#
Di 08:50 Uhr:
Probeklausur mit ExaHM, Raum C1.13
Woche 12, KW 02 / 2026#
Woche 13, KW 03#
Klausur#
Details siehe
Gruppeneinteilung (TBD):
https://moodle.haw-landshut.de/course/view.php?id=7763#section-2
Gruppen A und B: 13:30 Uhr
Gruppe 1: Raum C113
Gruppe 2: D1.04
Gruppen C und D: yyy Uhr
Gruppe 3: Raum C113
Gruppe 4: D1.04
Gruppe E:
hoffentlich nicht nötig?
Grupeneinteilung zufällig, unabhängig von Übungsgruppe 1 und 2, unabhängig von WIF oder DVM
FAQ: “Was kommt dran?”
Alle Probeklausuren und alle Übungsblätter
geschnitten mit: Das haben wir in diesem Semester gemacht, laut “Themen und Termine”
Aufgabe “Berechne”, z.B. Varianz: Formel wird angegeben
Auch: gegeben ein Screenshot einer einfachsten Seite im Netz; gesucht: Stellen Sie als Markdown-Zelle her.
Auch: Korrigieren Sie folgenden Code
“Umsortieren” von verschachtelten Datenstrukturen: ca 50% der Aufgaben
interessant und nützlich als Hilfsmittel:
jedenfalls der Tabulator!
ggf. die eingebaute Python-Funktion
help()… probiere z.B.help(set)