Veranstaltungs-Konzept (Skizze 2018-04 )
Überlegungen zu Inhalten und Makro-Didaktik; wurde im Sept 2018 aktualisiert; hier noch die Originalsammlung
Makro-Didaktik
Ziel WS 2018: Eine gut durchstrukturierte LehrLernveranstaltung für Gruppen
- keine Lehr-, sondern eine Lernveranstaltung ("Flipped Classroom"): Stoff wird weitestgehend durch 3rd Party-Lernmaterial exponiert ("vorgelesen") und teilweise auch schon im Selbststudium von den Studierenden rezipiert ("gehört") ... in Präsenz dann gemeinsames Lernen in Gruppen
- gleichzeitiges Lernen: viele einzelne Alleinlerner in geringem Kontakt; Vorlesung; "Menge"
- gemeinsames Lernen: Menschen mit Kontakt zueinander; gegenseitige Unterstützung, Kritik, Mitziehen; Menschen in Kontakt; "Gruppe"
Methode: SGL-Lernveranstaltung
- vom Tutor begleitete Präsenz
- Auftakt-Veranstaltung plus drei Hackathons in ca 4-wöchigem Abstand
- dazwischen Selbstlernphasen
Aufgabe des Dozenten:
- Lernen in einer Präsenzgruppe vorstrukturieren, rhythmisieren, synchronisieren, begleiten, Feedback geben
- Gruppendynamik auch sozial unterstützen; angstfreies, experimentierfreudiges Lernklima schaffen
fachliche Lernziele:
- anwendungsbezogene "praktische" Kompetenzen bzgl. Data Science
- fachlicher Fokus: Predictive Analytics
- in der Lage sein, bei einer Kaggle-Competition teilzunehmen und nicht ganz hinten zu landen
übergeordnete Lernziele:
- sich die fachlichen Lernziele im Modus eines tutoriell begleiteten selbstgesteuertes Lernen aneignen können
- Methodenwissen bzgl. Strukturierung neuer Wissensgebiete
- Selbstkompetenz bzgl. Kompetenzaneignung
Medien
- Selbstlern-Tutorials, wie sie z.B. unter Semesterablauf aufgelistet sind
- Plattform: Jupyter lokal, Server
- TBD prüfen: Kaggle als Plattform?
Setting
- ein Dozent
- idealerweise ein studentischer Tutor
- Lernaufwand: 5 ECTS = 5*30h = 150h Lernaufwand brutto incl. Organistion; netto = 100h
Python oder R?
Eine quasi-religiöse Frage. Wie im Mittelalter auch entscheidet hier der Landesfürst. Setzung: In unserem Kurs arbeiten wir mit Python.
- Kaggle und Google empfehlen Python. R spielt dort nur noch eine untergeordnete Rolle.
- Nur Python bietet fortgeschrittene Techniken der Datenintegration und -Vorverarbeitung.
- Bzgl. Syntax und Logik besteht eine direkte Anschlussfähigkeit an Programmiersprachen in einem (Bindestrich-) Informatikstudium.
- Python ist erforderlich für Tensorflow, IoT u.V.m.
- R-Bibliothen sind aus Python heraus ansprechbar. (Viele? alle? TBD: Schnittstellen prüfen, insbes. auch bzgl. Datenmodellen)
- programmatische Anschlussfähigkeit an Raspberry-Pi, "Internet of Things (IuT)"-Labor u.V.m.
Nachtrag 2018-10-01: Die Entscheidung für Python war goldrichtig: Gespräche mit Praktikern haben ergeben, dass ohne Python parktisch nichts geht.
HAW LA Setting: Lernaufwands-Schätzung
4 SWS = 4*14h = 56 UE a 45min Präsenz, d.h. Anwesenheit wird dringend empfohlen
16 Studierende
100h verteilt auf
- 42h Präsenz = 56 UE * 3/4h
- 4UE Vorbesprechung = 3h
- Erste Semesterwoche, Anfang Oktober
- 3 * 16UE = 48UE Hackathons
- über das Semester verteilt: 4 UE individuelles Feedbak, optional, Rückfragen etc. = 3h
- ggf. unterstützt durch Tutoren
- 4UE Vorbesprechung = 3h
- 58h Vor- und Nachbereitung
- fremdstrukturiertes, selbstgesteuertes Lernen (SGL)
- Tutorials
- Prüfungsvorbereitung oder Studienarbeit
- 50h vertiefendes (oder lückenfüllendes) selbstverantwortetes Studium und Studien-Organisation
mögliche Prüfungsformen
- klassische mündliche Prüfung 15 Minuten
- wenige Tage nach HKT3
- 7 min Präsentation des Kernels der Competition im HKT3, dann Diskussion mit den Prüfern
- geht nur bei bis zu 12 Studierenden, verteilt auf 2 Tage
- Studienarbeit
- mindestens 4 Wochen nach dem HKT3
- gut kommentierter Kaggle-Kernel
lokale Prüfung in Verantwortung des Modulverantwortlichens (Professor)
HAW LA Setting: Hackathons (HKT)
Orga
- jeweils Fr 16-21, Sa 9-13, 14-17
- jeweils 12 Zeitstunden = 16 UE
Vorbereitung jeweils 15h Selbstarbeit pro HKT
- ggf. Zusatzaufwand für Python A2-Niveau für Programmier-Neulinge
HKT1: erster Hackathon
Ende Oktober
Voraussetzung: Python auf Niveau A2
- skripting
Inhalte
- Motivationen klären
- Wofür ist DS gut
- Kompetenzen
- erster Gast-Vortrag
- aus der Wirtschaft: Datensätze sind meistens geheim
- Forschung: öffentliche Datensätze
- Technik
- Laptop einrichten
- erste Schritte, grundlegende Handhabung
- Jupyter-Plattform kennenlernen
- Anaconda
- Hello World
- am Bsp. von Titanic oder Google-Tutorial-Datensatz
- viele Tutoren unterstützen den indiviuellen Start
- Durcharbeiten des Tutorials: Wie geht das?
- mit Beamer vormachen
- "habe nur hinterhegeklickt"
- hat Vorlesungs-Charakter
- 30 Glossarbegriffe BASIC erklären
- jitt (just in time teaching)
- Fragen auf Zettel aufschreiben
- in Kiste
- Tutoren
- Moodle-gestützt?
- Moodle-Forum
- etherpad
- Q&A-Plattform!
- piazza.com
- stackexchange.com
- Wiki?
- Fragen auf Zettel aufschreiben
- Hausaufgabe vorbereiten (siehe HKT2)
Ziele
- technisch und logistisch arbeitsfähig sein
- SGL-Lernstil kennen- und lieben lernen
HKT2: mittlerer Hackathon
Ende November
größeres Beispiel durcharbeiten
Fr abend
- Educational Game
- 100 Glossarbegriffe ADVANCED erklären
- ggf. als Tabu-Spiel
- anki-Lernstapel bereitstellen
- Trinkspiele
- je eine Frage auf ein A4-Blatt
- Q&A-Plattform-Fragen
- alte Fragen klären
- neue Fragen stellen ... die am nächsten Vormittag besprochen werden
- Theorie: 8 kleine Vorträge a 10 Minuten ? eher kritisch
Sa
- 2 Beispiele durcharbeiten
- kleines Beispiel
- Kaggle
- ein ausgewählter guter Kernel
- aus "getting started"
- interessant für WiInf
- aus dem google-Tutorial?
- ein ausgewählter guter Kernel
- Titanic? zu bekannt
- andere instruktive
- House Prices
- Gesundheit
- Allbus?
- World Happyness Index
- Bild-Auswertung
- Ziel: 100% verstanden
- Kaggle
- ein anderes mittelgoßes Beispiel
- HKT3-Niveau
- Ziel: sehen, was man noch alles lernen will
- Nachbesprechung
- Resume ziehen
- lessons learned
- neue Fragen; offene Fragen wieder auf die Q&A-Plattform
- kleines Beispiel
HKT3: letzter Hackathon
Fr 11. - Sa 12. Januar 2019 (Vorlesungsbeginn Mo 7.1.2019)
Advance Organizer
- Was haben wir gemacht?
- Wo stehen wir?
Gruppenarbeit nach belieben
- KEIN Losverfahren
- "die Guten und die Schlechten"?
- auch alleine arbeiten ist ok: "Gruppe" = 1-3 Personen
(z.B. Kaggle-) Competition
Semesterablauf: Inhalte und Verzahnung mit Hackathons
(Dieser Absatz: Stand 2018-04-29T2000)
Wiederholung Statistik
- Literatur en masse, z.B. auch
- https://mitp.de/IT-WEB/Statistik/Statistics-Done-Wrong-Deutsche-Ausgabe.html
- https://www.statisticsdonewrong.com/data-analysis.html
Vorbereitung auf HKT1
- evtl. was zum lesen um sich mit Data science allgemein auseinander zu setzen https://www.statisticsdonewrong.com/data-analysis.html
- Tutorial für Python
- Spickzettel für Operatoren und Darstellung ( "hello" <String, 'hello' <auch String):
- Python Primer for Java Developers
- https://lobster1234.github.io/2017/05/25/python-java-primer/
- Vergleich der Syntax Java <-> Python
- Link zur Installationshilfe: https://blog.datarobot.com/getting-up-and-running-with-python Installation der IDE (Anaconda)
- https://www.codecademy.com/learn/learn-python (Von Kaggle empfohlen, von uns aber abgelehnt wegen zu strikter Lernpfad-Vorgabe)
Vorbereitung auf HKT2
- Google Tutorial https://developers.google.com/machine-learning/crash-course/
- 15h
- ggf. Ergänzung: TensorFlow Einstiegstutorial: https://www.tensorflow.org/get_started/eager
- 5h selbstständiges Lernen
- Lernen und verstehen von Glossar-Begriffen
- als Ergänzung:
- Python Data Science Handbook: https://jakevdp.github.io/PythonDataScienceHandbook/
- über https://mybinder.org/ die einzelnen notebooks einbinden
- Kaggle Competitions (Anfänger):
Vorbereitung auf HKT3
- Selbständige Vorbereitung auf Prüfungsleistung
- Evtl. Tutorial zum (Profi?)Umgang mit Kaggle? https://www.kaggle.com/about/competitions
misc
- Harvard: CS109 Data Science
- Für Studenten, die lieber mit Büchern lernen:
- Machine Learning mit Python und Scikit-Learn und TensorFlow: das umfassende Praxis-Handbuch für Data Science, Deep Learning und Predictive Analytics
- Einführung in Machine Learning mit Python: Praxiswissen Data Science
- Alternativen, die nicht im Hochschulbestand sind:
- Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques for Building Intelligent Systems
- Machine Learning – kurz & gut: Eine Einführung mit Python, Pandas und Scikit-Learn
Technik
- Jupyter Notebooks online ausführen und kollaborativ daran arbeiten
- Jupyter Notebooks von Github direkt online ausführen