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

  • 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/ anlegen

  • Firefox 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 Datei e_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:

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:

KW 44#

Vorlesung Freitag:

Empamos:

Die Seite http://jbusse.de/jvdp-jb/ wurde unübersichtlich, und ist jetzt neu strukturiert.

KW 45#

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:

KW 49#

Thema: Vertiefung gemäß dem Anpruch von Runde 2, hier: Einführung in Pattern Matching mit regulären Ausdrücken

Vorgehen, auch für das Erarbeiten von Tutorials etc. empfohlen:

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:

FAQ: Was kommt in der Klausur ‘dran? siehe Python-101 Klausur

Empfehlung: Bernd Klein! (grün-rotes Buch)

Übung bis ca 16 Uhr

ab 16 Uhr dann HAW Mitarbeiter Weinachtfeier

Freitag:

KW 51#

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:

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:

Kurzfilm “Teaching teaching, understanding understanding”; Version mit deutschen Untertiteln:

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: