Python 101 Themen und Termine#
TBD
KW 41#
Erster Überblick:
über Python
über das Erlernen einer Programmiersprache wie Python in einer Umgebung wie Jupyter Notebooks (JB verwendet Conda)
Hausaufgabe: Sich arbeitsfähig machen, konkret: Juypter Notebook installieren
am einfachsten: https://www.anaconda.com/
dringend empfohlen (und sowieso am zukunftsfähigsten für Studium und Beruf): http://jbusse.de/dsci-lab/
Dringendst empfohlener Bestandteil der Veranstaltung: Mindestens 200 Punkte in Codewars
Email Management:
dauerhaften einfachen Account holen: Alpha
Zweck: Reaktivierung, Bezahlung etc. des Beta-Accounts
Brot- und Butter-account holen: Beta
das ist die eigentliche Senke; nicht auf Alpha weiterleiten
anonyme Wegwerf-Accounts holen: Gamma
auf Beta weiterleiten
Zweck: accounts auf verschiedenen Plattformen, auf denen man anonym bleiben will
Hausaufgabe: mit Gamma-Email anonymen Account bei Codewars holen
KW 42#
Mittwoch
(1)
KORREKTUR 2023-10-10: Die OVA dsci-lab_22.04.3_ws2023.ova enthält ein Update (auf Jupyter Notebook 7), das leider nicht kompatibel mit unseren Lehrmaterialien ist.
Bitte verwenden Sie statt dessen die neue-alte OVA dsci-lab_22.04_ws22.ova, siehe http://jbusse.de/dsci-lab/t_download.html#ova-file-ws-2023-formerly-ws-2022
Sobald die Maschine läuft unbedingt sofort auf den neuesten Stand bringen:
sudo apt update; sudo apt upgrade; sudo apt autoremove
(2) Ganz kurze Einführung in das dsci-lab, am Beispiel dieser Quellen:
Schritte:
Starten der Virtuellen Maschine; Passwort: dscidsci
File Explorer starten, neues Verzeichnis
~/c/python-101/
anlegenFirefox starten; Einstellungen > General > Downloads > “Always ask you where to save files”
Öffnen von http://jbusse.de/jvdp-jb/e_r1.html, abspeichern des
.ipynb
-Files in~/c/python-101/
Jupyter Notebook starten; navigiere nach
~/c/python-101/
; öffne die Dateie_r1.ipynb
: geht?
(3) Endlich Python!
Die wichtigsten Ausdrucksmittel, Quelle http://jbusse.de/jvdp-jb/e_r1.html
immutables: Strings, Zahlen (Variablen verhalten sich wie Töpfe)
mutables: Listen (Variablen verhalten sich wie Pointer auf die gleichen Töpfe)
for i in [ 1, 2, “a” ]: …
if … elif … else
Unser erstes Programm, Quelle: http://jbusse.de/jvdp-jb/e_grundstruktur_listenbearbeitung.html
Freitag
Orga:
Wie viele Studierende sind im Hörsaal, wie viele nehem per Zoom teil?
Wer ist noch nicht arbeitsfähig, benötigt welche Unterstützung?
LN 1: Wie geht es voran?
Inhalte:
Inhalte:
minmale Einführung von Funktionen
minimale Einführung von einfachsten List Comprehensions
weitere Demos von JB in den Tutorials http://jbusse.de/jvdp-jb/e_r1.html und http://jbusse.de/jvdp-jb/e_grundstruktur_listenbearbeitung.html
Hausaufgabe: Die in dieser Woche besprochenen 2 Seiten möglichst komplett verstehen
jedenfalls die Syntax wiedererkennen
die Konzepte kennen
Dazu jvdp nachlesen, ggf. andere Quellen konsultieren. Empfehlung JB:
Bernd Klein: Einführung in Python 3. Für Ein- und Umsteiger. Hanser-Verlag, 4. Auflage 2021. https://flatp20.bib-bvb.de/search?bvnr=BV047069220
KW 43#
ÜBUNG für Gruppe 1
Montag morgen 08:45 Uhr, Raum K0.10
ggf. noch Nachfragen und Hilfen zum
python-101-ln
JB ist auch dabei: Nachfragen zum dsci-lab?
Arbeitsauftrag: Arbeiten Sie http://jbusse.de/jvdp-jb/e_r1_quizz_AUTO.html durch:
Erstellen Sie ein Notebook, in dem alle Fragen durch ein schönes Beispiel erläutert werden.
VORLESUNG Mittwoch
Immer noch Runde 1, jetzt aber 1b:
Einführung in verschachtelte Datenstrukturen.
Darum geht es, Tutorial: http://jbusse.de/jvdp-jb/e_r1b.html
Vorübungen Schritt für Schritt, Tutorial: http://jbusse.de/jvdp-jb/e_r1b_voruebungen.html
Einführung in das Übungsblatt 2: http://jbusse.de/jvdp-jb/python-101-ln2_AUTO.html
KW 44#
Vorlesung Freitag:
Empamos:
https://www.empamos.de/de/ | https://empamos.in.th-nuernberg.de/ | diz
HAW LA, Di: 21.11.23 / 15:30 – 18:00 Teil 1 und Mi: 22.11.23/ 10:00 – 17:00 Teil 2
Interesse an
Didaktik, Training, Weiterbildung
Theorie des Gesellschasft-Spiele, Game-Mechanik
Python
Die Seite http://jbusse.de/jvdp-jb/ wurde unübersichtlich, und ist jetzt neu strukturiert.
neuer Stoff: Einführung in Rekursion, Tutorials:
KW 45#
Datei einlesen: http://jbusse.de/jvdp-jb/e_r2.html
eingelesene Daten mit Text-Funktionen bearbeiten: http://jbusse.de/jvdp-jb/e_r2b_AUTO.html
Thema Zeichenketten:
Wdh. Slicing
split, join
ertse Erwähnung:
print()
mit f-strings
Übungsblatt 3: http://jbusse.de/jvdp-jb/python-101-ln3-AUTO.html
KW 46#
Mi: Codewars
Fr: kein Unterricht; statt dessen Fingerübungen, Codewars etc. machen!
KW 47#
Mi kein Unterricht: Buß- und Bettag
KW 48#
Orga:
Die Klausur ist schriftlich auf Papier – leider.
Übung J.Busse (Do): nicht morgen (Do), sonderen wegen Dienstreise verlegt auf kommende Woche Do
ggf. auch in die Übung Mo vormittag gehen?!
Dringende Empfehlung Lerntechnik:
Website zur Veranstaltung immer wieder durchgehen, insbesondere Tutorials und Quizz:
Was steht da? Abschnitt lesen, verstehen
Fenster schließen, “aus dem Kopf” selber neu codieren (selber tippen, kein Copy & Paste!)
Möglichst oft in die Übung gehen!
Codewars!
Themen Mi:
Sammlung
Alter; Geschlecht; Größe; Schuhgröße
: siehe Etherpad https://moodle.haw-landshut.de/mod/etherpadlite/view.php?id=477416f-strings! siehe z.B. https://cheatography.com/brianallan/cheat-sheets/python-f-strings-number-formatting/. Ab jetzt möglichst immer verwenden!
http://jbusse.de/jvdp-jb/e_r2_funktionsparameter_BMI_AUTO.html
KW 49#
Thema: Vertiefung gemäß dem Anpruch von Runde 2, hier: Einführung in Pattern Matching mit regulären Ausdrücken
Textgrundlage: http://jbusse.de/jvdp-jb/jb-14-Strings-and-Regular-Expressions.html#flexible-pattern-matching-with-regular-expressions
Vorgehen, auch für das Erarbeiten von Tutorials etc. empfohlen:
Originaltext lesen, teilweise verstehen
in einem eigenen Notebook ausprobieren
wir probieren das hier gemeinsam aus: http://jbusse.de/jvdp-jb/e_r2_regex.html
Empfehlung, um regex zu entwickeln, die man dann z.B. in Python verwenden kann: https://regex101.com/.
Gegegeben:
ein Text mit Datumsangben, z.B.:
Der 24.12.2023 ist in diesem Jahr ein Sonntag. Der Unterricht geht bis Freitag 2023-12-22, weiter dannn 2024.01.08. In 2024 gibt es sogar einen Donnerstag 2024-02-29, aber nicht 2024-04-31. Auch klar: Amerikaner notieren den Anschlag nine-eleven 9/11 mit 09/11/2001; Europäer notieren den 11. September 2001 mit 11-09-2001.
Gesucht: Identifiziere Datumsangaben!
alle im Prinzip möglichen (die man dann mit anderen Algorithmen auf Korrektheit testen kann)
alle eindeutig korrekten, also eine geringe false positive (FP) Rate
alle eindeutig falschen, also eine geringe false negative (FN) Rate
Do: Übung statt KW 48
KW 50#
Mittwoch:
Thema:
zip()
und Wiederholung Stern-Operator
FAQ: Was kommt in der Klausur ‘dran? siehe Python-101 Klausur
Empfehlung: Bernd Klein! (grün-rotes Buch)
online mehr: https://www.python-kurs.eu/
Übung bis ca 16 Uhr
ab 16 Uhr dann HAW Mitarbeiter Weinachtfeier
Freitag:
neuer Stoff: http://jbusse.de/jvdp-jb/jb-09-Errors-and-Exceptions.html (selber lesen)
Anmerkung zu Python 101, WS 2023, Testklausur 2023-12-12
KW 51#
Übungsblätter für Gruppe Do 14:30 Uhr
Fr 2023-12-22: Weinachts-Vorlesung bei Kollege Andreas Siebert: ein akademisches Highlight! Teilnahme freiwillig, schön, empfohlen:
10:30 Uhr, Raum C0.13
vorlesungsfrei ab 23. Dezember 2023 bis 07. Januar 2024
Weihnachten#
KW 2#
Wir haben leider eine Papier-Klausur. Programmieren im Sinne von Code-Erzeugung geht auf Papier nicht wirklich gut, ist wirklichkeitsfremd und sehr schwer zu korrigieren. Also benötigen wir zusätzlich auch andere, papier-affine Aufgabentypen. Das muss nicht schlecht sein: Je mehr wir im Netz nach Lösungen recherchieren (insbesondere https://stackoverflow.com/) oder zukünftig auch ChatGPT fragen, desto wichtiger wird es, in fast-richtigen Antworten mangelnde Passung oder Fehler zu erkennen. All das ist Leseverstehen in Reinkultur, bestens abdeckbar über eine Papierklausur.
Thema heute:
Typen und Beispiele von Antwort-Auswahl-Fragen (AAF), siehe http://jbusse.de/jvdp-jb/quizz_mc_typen_AUTO.html
Notizen aus der Vorlesung von Mittwoch:
Antwortauswahl
Ein Ausdruck: Welches Ergebnis? (SC)
ein Ergebnis: Welche Ausdrücke? (MC)
5 Ergebnisse, 5 Programme zuordnen
uneindeutige Zeichen:
Dict oder Set?
eckige oder runde oder geschweifte Klammern
index oder slice
mehr:
Welcher Typ wird durch folgenden Ausdruck erzeugt?
das funktioniert, das nicht
reservierte Bezeichner
Weitere Themen heute:
Status Quo Codewars?
Freitag:
NEU 2024-01-12: Den Whirlwind als pdf siehe https://moodle.haw-landshut.de/mod/resource/view.php?id=482064
Besprechung ser EvaSys-Evaluation
didaktische Reflexion:
Kurzfilm “Teaching teaching, understanding understanding”; Version mit deutschen Untertiteln:
Playlist: https://www.youtube.com/playlist?list=PL3B329B9D8FE40C3F
Teile 1 und 2 5:38 Level 1: What students are; blame the student perspective | 6:44 Level 2: What teachers do; blame the teacher perspective | 7:55 Level 3: What students do
KW 3#
Orga:
LN noch nicht erreicht? Die bisherigen Übungsblätter sind “verbrannt”. Wer jetzt noch einen LN benötigt: Bitte email an J.Busse.
Website jbusse.de/jvdp-jb
minimal neu restrukturiert, insbesondere aufgeteilt in Tutorials zu Runde 1 und Runde 2
alle Lösungen sind offen!
Wir gehen die Website nochmal durch und gucken, was war.
KW 4#
Besprechung und ggf. Ergänzung:
Übung vom 2024-01-19: http://jbusse.de/jvdp-jb/demo_2024-01-19.html
letzte Sitzung: http://jbusse.de/jvdp-jb/demo_2024-01-24.html