Open Source in der Data-Science-Lehre
von Prof. Jens Flemming
Die Data-Science-Community baut auf eine Ökosystem aus freien Open-Source-Tools. Lehrende im WHZ-Studiengang Data Science entwickeln mit an der Zukunft dieser Tools.
Jupyter und Linux sind der De-Facto-Standard für moderne Data-Science-Anwendungen in Lehre und Forschung.Wie alles begann
Neuer Studiengang? Neue Vorlesungen konzipieren? Klingt spannend. Ist doch eine gute Gelegenheit etwas angestaubte Konzepte wie PDF-Skripte, umfänglicher Tafelanschrieb oder gar Coden auf Papier (ja, das gibt es noch an manchen Hochschulen!) hinter sich zu lassen. Also setzen wir von Anfang an auf digital und online. Nur wie?
Standard im Data Science ist seit Jahren das Jupyter-Ökosystem: eine Sammlung sehr nützlicher Tools, die zusammen praktisch alle Bedürfnisse abdecken. Hauptkomponenten sind die Programmiersprache Python und die Browser-basierte Software JupyterLab. Letztere ermöglicht das Coden im Browser und unterstützt verschiedenste Datenformate in ein und demselben Dokument. Neben Code, der an Ort und Stelle ausgeführt werden kann, können solche Jupyter-Notebooks auch Text, mathematische Formeln, Bilder, Videos, interaktive Karten, eigentlich alles, was ein Webbrowser anzeigen kann, enthalten.
Da alle Tools im Jupyter-Ökosystem kostenlos verfügbar sind, stand der Nutzung auch durch Studierende nichts im Wege. Also alles installieren, Lehrmaterialien als Jupyter-Notebooks erstellen. Fertig. Fertig?
Fehlt da noch was?
Zu einer modernen Lehrveranstaltung, die bei Bedarf auch remote, also zu Hause, verfolgt werden kann (der Studiengang Data Science startete kurz vor Corona), gehört auch E-Assessment. Darunter versteht man das Lösen von Übungs- oder Prüfungsaufgaben am Computer, die automatisch korrigiert werden, sodass die Studierenden ein möglichst direktes Feedback zu Ihren Lösungen bekommen.
Das Jupyter-Ökosystem bietet auch ein E-Assessment-Tool: Nbgrader. Das funktioniert im Grunde ganz gut, allerdings ist die Integration in komplexere Lernumgebungen noch nicht wirklich ausgereift. Was heißt hier komplex? An der WHZ müssen Studierende die für das Data-Science-Studium benötigte Software nicht auf Ihrem eigenen Gerät installieren. Alle Studierenden bekommen kostenlosen Zugang zu Hochleistungscomputern, die rechenintensive Aufgaben deutlich schneller lösen als der eigene Laptop. Der Zugriff erfolgt über den Webbrowser. Dort läuft auch der Nbgrader für das E-Assessment. Andererseits werden Studierende, deren Leistung und Lernfortschritt, und teils auch Lehrmaterial über ein hochschulweites Lernmanagementsystem (LMS) verwaltet. Innerhalb dieses LMS gibt es auch E-Assessment-Lösungen, aber nicht so mächtige wie Nbgrader.
Eigentlich müsste mal jemand Jupyter und Nbgrader an übliche LMS anbinden. Also: Ohne extra Login direkt vom LMS zu Jupyter und Nbgrader wechseln und die E-Assessment-Ergebnisse dann direkt im LMS sehen. Aus Nutzersicht keine große Sache, aber trotz riesiger Jupyter-Community hat das bisher niemand gebaut.
Open Source!
Alle Tools im Jupyter-Umfeld sind kostenlose Open-Source-Software. Das heißt, dass der Quellcode, also der Bauplan der Software für jeden einsehbar ist und damit natürlich auch an eigene Bedürfnisse angepasst werden kann. Zusätzlich gibt es diverse Open-Source-Lernmanagementsysteme, z.B. Moodle. Mit ein bisschen Mühe kann man also alles selbst bauen, was man braucht.
Also bauen wir doch unsere Anbindung von Jupyter/Nbgrader an ein LMS einfach selbst! So schwer kann das nicht sein. Für die Kommunikation zwischen verschienden Tools im E-Assessment-Bereich gibt es einen etablierten Standard: LTI. Den müssen wir auf Jupyter-Seite implementieren; die meisten LMS haben dafür bereits eine Schnittstelle.
Eine erste Analyse zeigt: Alle relevanten Komponenten von Jupyter sind in Python, JavaScript und anderen verbreiteten Sprachen geschrieben, die die Mitglieder des Projektteams beherrschen. Apropos Projektteam: Mit dabei sind neben einem Professor von der WHZ auch ein Professor von der HTWK Leipzig sowie ein Projektmitarbeiter, der durch für dieses Projekt eingeworbene Drittmittel finanziert wird.
Ohne Open-Source-Tools und -Community wäre dieses Projekt nicht denkbar. Ohne Linux kein Testserver. Ohne Moodle kein Test-LMS. Ohne Jupyter kein Data Science wie wir es heute kennen. Alles entwickelt von Freiwilligen, oft in ihrer Freizeit oder, wenn es thematisch passt, als Nebenprodukt ihrer beruflichen Tätigkeit.
Harte Arbeit
Insgesamt wird das Projekt von ersten Recherchen bis zur Veröffentlichung der entstandenen Software fast zwei Jahre in Anspruch nehmen. Je mehr wir uns in die Thematik und die zu lösenden Probleme vertiefen, umso komplexer werden die Strukturen, die beherrscht und angepasst werden wollen.
LMS und diverse Jupyter-Tools (JupyterHub, JupyterLab, Nbgrader,...) kommunizieren über verschiedene Netzwerkprotokolle. LMS und Jupyter laufen auf getrennten Servern und müssen öffentlich am Internet hängen. Das bringt eine ganze Menge IT-Security-Themen ins Projekt. Die Testserver müssen vom Projektteam aufgesetzt und betrieben werden, da die Hochschulrechenzentren bei dem Thema kapitulieren. Die Software-Entwicklung tritt immer mehr in den Hintergrund. Im Vordergrund stehen das Durchdringen und Ordnen komplexer Interaktionen zwischen vielen Einzelteilen des Gesamtsystems.
Dazu kommt: Der LTI-Standard ist alles andere als einfach und die offizielle Spezifikation praktisch unlesbar. Selbst professionelle LMS-Entwickler, mit denen wir uns austauschen, kommen an ihre Grenzen.
Das Ergebnis
Letztlich kommen wir doch irgendwie ans Ziel. Entstanden ist nicht nur das Tool Kore zur Verbindung von Jupyter und Lernmanagementsystemen, sondern eine komplette Jupyter-Distribution namens Ananke, die quasi als Fix-und-Fertig-Paket eine vollständige Jupyter-Umgebung für den Hochschuleinsatz inklusive E-Assessment bietet. Ananke ist frei verfügbar und open source, sodass jede und jeder Ananke einsetzen kann.
Mit der Veröffentlichung von Ananke im September 2023 begann auch der Einsatz in der Data-Science-Lehre an der Westsächsischen Hochschule Zwickau, sodass die WHZ international (vermutlich) die erste Hochschule ist, die das Jupyter-Ökosystem so weit reichend in ihr LMS integriert hat.