Themen und Termine#
Übersicht und Orga#
Semestertermine WS 2024/25 nornativ: https://www.haw-landshut.de/static/SSZ/Dateien/Termine/Termine_WiSe_2024-25.pdf; Anwendung aud Python 101 im WS 2024:
Keine Vl Allerheiligen
letzte Vl in 2024: Freitag 2024-12-20
erste Vl in 2025: Freitag 2025-01-10
letzte Vl in diesem Semester: Fr 2025-01-24
Wir haben also insgesamt 14 Freitage.
Runde 1, erste 6 Wochen
Runde 2 bis Weihnachten
weitere 3 Termine Januar 2025: Vertiefung einzelner Themen
Übungsblätter:
Download: https://www.jbusse.de/python-101/python-101-ln.html
Voraussetzung für LN
Frequenz: zu Beginn alle 1-2 Wochen (!), später seltener
in der Übung dem Dozenten zeigen; zusätzlich Abgabe auf Moodle
unbedingt Dateinamen-Konventionen beachten!
Alle Übungsblätter müssen bis Fr 2024-12-20 abgegeben sein – denn dann wird Weihnachten schöner :-)
KW 40 + Woche 0 (=KW 40)#
Freitag 2024-10-04
Studienstart, Begrüßung
Aufschriebe; 10 Min täglich Python; soziale Gruppen sind überlebenswichtig
Welcher Rechner?
Rechner 3: Backup zuhause
Rechner 1: Win, ca 500€
Rechner 2: https://www.jbusse.de/dsci-lab/
Software
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!
LN1
Woche 1 (=KW 41)#
Grundlegende Basics:
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
LN2
Woche 2#
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#
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:
LN3
KW44: Feiertag Allerheiligen#
Woche 4 = KW 45#
Neu: 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 4
Rückblick: Was haben wir gemacht bisher gemacht? Wir erstellen eine Mindmap :-)
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 = KW 46#
WICHTIG:
KEINE ÜBUNG bei J.Busse am Do 2024-11-14
Übung Mi 2024-11-13 Vormittag findet statt: hingehen!
Vorlesung Fr 2024-11-15 ausschließlich per ZOOM
f-strings
Google Bildersuche nach “python f-string cheat sheet” liefert viiieeele Ergebnisse, z.B. auch das hier:
Doku:
Neues Thema: ChatGPT und Python.
Idealerweise holen Sie sich bei https://openai.com/ einen Account – aber unbedingt anonym, d.h. mit einer E-Mail und einer Handy-Nummer, die Sie sonst nicht verwenden!
Codewars
Wiederholungen und Vertiefungen
Überleitung in die Runde 2
Runde 2#
typische Themen für Runde 2:
Rekursion
Fakultäts-Funktion
Tree-Traversal (schwieriger!)
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 = KW 47#
Rekursion
CSV, pandas dataframe
LN5
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:
LV-Evaluation
Gute Zusammenfassung: https://llego.dev/posts/understanding-nested-data-structures-in-python/
NEU: zip
Codewars: Vergleich Schwierigkeit Codewars und Klausur
Synchrone textbasierte Kollaboration, vielseitig einsetzbar: https://yopad.eu/
Praxis: Text-Funktionen
Woche 9#
die komplette Woche ausschließlich in Präsenz, KEIN ZOOM
Ü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)
08:45 Uhr Klausur-Infos
“Was kommt in der Klausur ‘dran?” – konkret als Übersicht und Kommentare zu den “alten” Klausuren unter https://www.jbusse.de/python-101/python-101-klausur.html
Besprechung Probeklausur von Mi und Do; Klausur zur Üben: https://www.jbusse.de/python-101/testklausur_2024-12-12.html; Lösung: https://www.jbusse.de/python-101/testklausur_2024-12-12_lsg.html
LV-Evaluation
10:30 Uhr Weihnachts-Vorlesung von Björn Schuller:
KI aus dem Sack! Die Nikolaus- und Krampus-Perspektiven.
Woche 10 = KW 51#
Letzte Vl vor Weihnachten, wieder ausschließlich mit Zoom
Orga
dsci-lab aktuelle halten: Jeden Tag in einem Terminal ausführen (nicht tippen, sondern mit STRG-R in der History das Komando suchen):
sudo apt update; sudo apt upgrade; sudo apt autoremove
Unverbindliches Meinungsbild Stand heute: Nehmen Sie vermutlich an der Klausur teil?
Thema heute: Text bearbeiten
https://www.jbusse.de/jvdp-jb/jb-14-Strings-and-Regular-Expressions.html
Das können Sie schon: Textdatei segmentieren
Neu: regex in Python
Ultimatives Online-Tool: https://regex101.com/ (in der Auswahl links Python anwählen)
https://www.jbusse.de/jvdp-jb/jb-14-Strings-and-Regular-Expressions.html
Woche 11, 2025-01-10#
Fr 08:50 Uhr: Vorlesung in Präsenz, Zoom läuft mit
Bericht aus der Übung gestern: https://www.jbusse.de/python-101/pplan.html
Kurze Wdh. Woche 10
Besprechung LV-Eval
Neue Thema: Paket https://docs.python.org/3/library/random.html
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.
Nachbesprechung Probeklausur vom Mittwoch, insbesondere auch Aufgbabe 4: https://www.jbusse.de/python-101/testklausur_2025-01-15_BESPRECHUNG.html
“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:
https://moodle.haw-landshut.de/course/view.php?id=7763#section-2
Gruppen 1 und 2: 13:00 Uhr
Gruppe 1: Raum C113
Gruppe 2: D1.04
Gruppen 3 und 4: 15:00 Uhr
Gruppe 3: Raum C113
Gruppe 4: D1.04
Ü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)
als Textdatei einlesen: https://www.jbusse.de/jvdp-jb/f_f1_AUTO.html#aufgabe-text-to-dict
als CSV einlesen:
CSV selber als txt einlesen, selber interpretieren
besser: Pandas read csv
spaltenweise und zeilenweise Darstellung einer Tabelle