Ein „Data Science“-Kurs mit GitHub

Nicht erst seit, aber verstärkt durch die Pandemie, interessieren mich Daten, deren Aufbereitung und Visualisierung. Was liegt also näher, als einen Seminarkurs zum Thema „Data Science und Datenvisualisierung“ anzubieten? Seminarkurse sind Fächer, die in Baden-Württemberg im ersten Abschnitt der Kursstufe (KS1) freiwillig belegt werden können. Die Themen sollen fächerübergreifend und „out of the box“ sein. Wir haben z.B. Seminarkurse zum Thema „Ernährung & Kochen“, zu „Israel“ (mit einem Austausch) und „Sportsoziologie“.

Also habe ich mich etwas eingelesen und einen Kurs ausgeschrieben. 10 Teilnehmer*innen haben sich angemeldet und ich stecke in der Vorbereitung. An diesem Prozess will ich euch etwas teilhaben lassen, weshalb dieser Blogbeitrag entsteht.

Der Kurs wird sich sowohl mit der Suche und Vorbereitung der Daten beschäftigen, als auch mit der Auswertung und Aufbereitung der Daten. Neben Programmierung (Python, Java Script) geht es in Grundzügen auch um Statistik, gestalterische Fragen bei der Visualisierung und um die fachliche Auseinandersetzung mit dem „Thema“ der Datenbasis. Bewertet wird der Kurs über ein eigenes Projekt, welches die Schüler*innen selbst wählen dürfen. Auch die Ausrichtung ist offen. Denkbar sind also eher programmierlastige Projekte, aber auch Projekte, die den Fokus stärker auf die Visualisierung legen (z.B. mit Tableau).

Data Scientists ist ein Berufsfeld, welches extrem nachgefragt wird. Aus diesem Grund ist der Kurs auch als Teil des Berufsbildungsprozesses zu verstehen. Natürlich bin ich kein Data Scientist. Und auch meine Schüler*innen werden in zwei Halbjahren keine werden. Aber das ist auch nicht das Ziel. Es geht darum, einen Einblick zu geben, was man in diesem Berufsfeld machen kann und gleichzeitig ermöglichen, sich auszuprobieren.

Die Plattform

Beispiel-Screenshot aus GitHub

Nicht nur aus Unsicherheit, wie das neue Schuljahr starten wird, sondern auch weil ein Teil des Kurses sich mit Programmierung beschäftigt, war ich auf der Suche nach einer geeigneten Plattform. Zwar haben wir auch, wie viele Schulen in der Pandemie, eine Onlineplattform, diese ist aber in diesem Fall zu wenig speziell. Aus naheliegenden Gründen landete ich bei GitHub, wo ich auch schon einen Account hatte, den ich hauptsächlich genutzt habe, um interessanten Projekten zu folgen (die nicht immer direkt mit Programmierung zu tun haben müssen, dazu unten mehr). Am Beginn stand also, dieses Git-Ding etwas zu verstehen. Nachdem ich nun auch schon deutlich über 40 bin, bemerke ich, dass es zunehmend schwieriger wird, sich in solche Dinge reinzudenken. Gute Dienste leistet mir Anke Lederers „GitHub – Eine praktische Einführung“ und die interne Dokumentation von GitHub. Zudem sehe ich, dass GitHub kostenlose Pakete für Lehrer*innen und Schüler*innen anbietet. Also schnell meinen Nachweis hochgeladen und nach wenigen Tagen bin ich offiziell als Lehrer anerkannt. Neben einer kostenfreien GitHubPro-Mitgliedschaft gibt es noch viel andere interessante Angebote, unter anderem für den SSH-Client „Termius“ oder Lizenzen für die Git-Software „GitKraken„.

GitHub ist aber nicht nur für Programmierer interessant. Man kann die Plattform auch nutzen, ohne eine Zeile Programmcode zu schreiben und zu veröffentlichen. Als Auszeichnungssprache die Markdown. Markdown ist leicht zu erlernen, auch im Quellcode lesbar und ein Plain-Text-Format. Aus diesem Grund kann man auf GitHub auch Bücher schreiben, Wikis anlegen oder eine Diskussionsplattform aufbauen. Zudem sind die diversen Git*-Plattformen (insbesondere GitHub und GitLab) Standard in der „Echtwelt“, insbesondere, was den Open-Source-Sektor angeht.

Literatur

Literatur gibt es zu diesem Thema wie Sand am Meer. Zu großen Teilen englischsprachig, aber auch auf Deutsch. Zu empfehlen sind hier die beiden Veröffentlichungen „Einführung in Data Science“ von Joel Grus und „Datenvisualisierung – Grundlagen und Praxis“ von Claus O. Wilke aus dem O’Reilly-Verlag. Wenn nachweist, dass man Lehrer*in ist und freundlich nachfragt, stellt der Verlag e-Books zur Evaluation kostenlos zur Verfügung (Danke!). Empfehlenswert ist auch „Practical Python Data Visualization“ von Ashwin Pajankar im APress-Verlag.

Weitere Literatur und auch Inhalte zu den nächsten beiden Punkten lege ich in einem eigenen Repository auf GitHub ab. Der Vorteil ist, dass ich dieses nur an einer Stelle erweitern muss.

Daten

Um Daten zu finden, muss man nicht lange suchen. In der Zwischenzeit gibt es vielerlei Datensätze frei zugänglich im Netz. Insbesondere die öffentlichen Stellen beginnen zunehmend, ihre Erhebungen als OpenData zu veröffentlichen. Auch im Zuge der Pandemie wurden wir mit Daten geradezu überschüttet. Das wird auch ein Ansatz in meinem Kurs sein: Die Auswertung dieser Daten. Natürlich stehen ganz oben auf der Liste die Daten des RKI, die entweder per Download oder per API abgerufen werden können. Globale Daten gibt es bei „Our World in Data“ im zugehörigen GitHub-Repo. Hier kann man eine weitere Anwendung von GitHub sehen: Zunehmend stellen Anbieter auch Datensätze per GitHub zur Nutzung bereit.

Als zweiten interessanten Bereich habe ich Klimadaten ausgemacht. Aus Gründen der Aktualität und weil es auch hier sehr viele offene Informationen gibt, mit denen man arbeiten kann.

Software

Beispiel-Screenshot aus Jupyter-Notebook

Spätestens hier wird es nun unübersichtlich und man muss sich begrenzen. Zunächst steht sicher die Frage an, welche Sprache man nutzen will. Offensichtlich bieten sich zwei Wege an: Python oder R. Python aufgrund der mächtigen Bibliotheken und dem flexiblen Umgang mit Daten, R als Standard für Statistik-Anwendungen (und auch starken Möglichkeiten zur Visualisierung). Weil wir in Teilen auch mit RasPies arbeiten und ich Python ein kleines bisschen „kann“, habe ich mich für Python entschieden. Auch, weil mit Anaconda eine fertig geschnürte Plattform, insbesondere für Data Science bereitsteht (Windows, Mac, Linux). Zu Beginn kann man aber auch mit Replit starten und somit komplett auf eine Installation verzichten.

Will man Daten zunächst eher visuell erforschen, kann man auch Tableau einsetzen. Der Support hat mir dankenswerterweise auch hier eine kostenlose Bildungslizenz zur Verfügung gestellt. Etwas technischer und weniger „glossy“ kann man aber auch mit Orange einsteigen um sich Datensätze anzuschauen oder SciDAVis testen.

Die Möglichkeiten sind nahezu unbegrenzt und man muss hier wirklich gut überlegen, was man als Tools vorschlagen will. Begeistert man sich für das Thema, kann man sich leicht darin verlieren, die vielen Möglichkeiten auszuprobieren und zu testen. Den Schüler*innen lasse ich aber freie Hand. Wenn jemand fit ist auf einer bestimmten Plattform oder Lust hat, etwas Bestimmtes zu lernen, dann darf gerne experimentiert werden.