Wer hat Angst vor Schlangen? – Wie Python in Göttingen zum Data-Literacy-Werkzeug wurde
Wer hat Angst vor Schlangen? – Wie Python in Göttingen zum Data-Literacy-Werkzeug wurde
29.04.20Ist nun R oder Python besser? Dieser Frage mussten sich Dr. Jana Lasser, Dr. Alexander Silbersdorff und Dr. Benjamin Säfken in dem Projekt Daten Lesen Lernen an der Universität Göttingen stellen. Im diesem Blogpost teilen sie ihre Erfahrungen mit der HFD-Community.
Die Uni Göttingen hat sich mit dem Projekt Daten Lesen Lernen das Ziel gesetzt, Studierenden aller Fachrichtungen die Grundlagen im Umgang mit Daten zu vermitteln. Die Umsetzung des Projektes wird durch eine Förderung des Stifterverbandes und der Heinz Nixdorf Stiftung ermöglicht. Die zweite Runde einer neu geschaffenen Lehrveranstaltung ist im April gestartet. Aufgrund der aktuellen Situation als vollständig digitale Veranstaltung. Das Projekt verankert Data Literacy nachhaltig in der Ausbildung der Universität Göttingen.
In unserem Blog-Post 1 Jahr „Daten Lesen Lernen“ an der Universität Göttingen vom November letzten Jahres, haben wir nach einem knappen Jahr Projektlaufzeit ein kleines erstes Resumée gezogen. Darin haben wir eine auch bei uns heiß diskutierte Frage außen vor gelassen, die Frage: R oder Python? Dieser Frage wollen wir uns in diesem Post widmen und den Entscheidungsweg in Göttingen beschreiben.
Die Frage aller Fragen
Die Word Cloud als Birne ist schnell zum Symbol für unser Göttinger Daten Lesen Lernen Projekt geworden. Sie veranschaulicht gut, wie breit unser Team aufgestellt ist. Ob Archäolog*innen, Philolog*innen, Ökonom*innen, Informatik*innen, Physiker*innen oder Statistiker*innen, alle sollen sich in unserem Projekt wiederfinden. Viele Leute aus unterschiedlichsten Fachrichtungen in ein Projekt einzubinden ist nicht einfach. Auch das spiegelt sich in der Daten-Lesen-Lernen-Birne. Wer einen genauen Blick darauf wirft, erkennt sowohl das Python als auch das R-Symbol. Nichts hat die unterschiedlichen Fachkulturen klarer getrennt als die Frage nach dem passenden Werkzeug für Data Literacy.
Die erste Frage in der Planungsphase war noch einfach zu beantworten: Brauchen wir eine Software? Oder reicht es, wenn wir uns dem Thema theoretisch nähern? Klar brauchen wir ein Datenanalysetool! Unser Ansatz sollte praxisorientiert sein. Wir wollten, dass unsere Studierenden nicht nur die datenbasierten Schlüsse anderer beurteilen können, sondern auch selbst Schlüsse aus Daten ziehen können. Das war und ist für uns gelebte Datenkompetenz. Schon das ist eine Herausforderung. Der Kurs in Göttingen richtet sich an ja an Student*innen ohne jede Vorerfahrung im Programmieren. Wir wollen ja grade Germanist*innen und Archäolog*innen erreichen. Das Excel trotzdem nicht passt, war auch schnell klar. Weder zu unseren Inhalten noch zu dem angestrebten Charakter der Digitalität. So blieb die bekannte Frage: R oder Python?
Datenwisssenschaftler aller Fachkulturen, vereinigt euch!
Gute Data Literacy Education lebt nicht nur von der unbestrittenen Relevanz ihrer Inhalte, sondern auch von der Begeisterung der Lehrpersonen. Die Begeisterung für die gelehrten Inhalte der Göttinger Data-Literacy-Veranstaltung ist ein elementarer Pfeiler für ihren Erfolg. Ohne die Leidenschaft der Lehrenden wird auch die konzeptionell beste Data-Literacy-Veranstaltung dröge und scheitert daran, die Studierenden mitzureißen. Mit der gleichen Leidenschaft haben wir uns der Frage R vs Python gewidmet. Das ist natürlich ein emotionales Thema. Wir Datenwissenschaftler*innen verbringen mit der Software unserer Wahl aktuell wohl mehr Zeit als mit unseren Partner*innen. Und wer will schon mit lieb gewonnenen Gewohnheiten und Überzeugungen brechen und eine Lehrveranstaltung in einer fremden Softwareumgebung halten?
So hat sich auch unser Göttinger Daten-Lesen-Lernen-Projekt in den schwelenden Streit innerhalb der Datenwissenschaften eingereiht. Die Lager ließen sich grob verschiedenen Fachrichtungen zuordnen. Informatik und Physik im Lager der Python-Befürworter*innen. Statistik und Ökonomie im R-Lager. Die Philologie im Gewand der Digital Humanities eher bei Python, die Archäologie eher bei R. Natürlich kamen in der Diskussion die üblichen Argumente auf. Die gleichen Argumente und Themen, die zehntausendfach in den zahlreichen Internetforen und Blogs wiedergegeben werden: Objektorientierung, Pakete laden, diese oder jene Anwendung, Anschlussfähigkeit an die Community, etc.
In unserer Diskussion haben am Ende eher praktische Argumente überwogen: Wo finden wir eigentlich mehr und passende Tutor*innen? In welcher Sprache haben wir mehr Ressourcen und besseres Material?
So haben wir uns am Ende für Python entschieden. Zusammen mit Jupyter Notebooks. Dafür musste die eine Hälfte der Lehrenden kurzfristig auf Python umsteigen. Die Veranstaltung war trotzdem (oder grade deswegen?) ein Erfolg. Für die Studierenden und die Lehrenden. Das wäre sie mit R vermutlich auch gewesen. Natürlich sind auch Schwierigkeiten aufgetreten. Gerade weil unsere Veranstaltung auf absolute Programmieranfänger*innen abzielt und Python eine vollwertige Programmiersprache ist. Einige der Probleme wollen wir hier wiedergeben:
- Der Unterschied zwischen einer Funktion und einer Methode. Wann rufe ich eine Funktion mit Parametern in den Klammern auf? Wann wende ich mittels „.“ eine Methode auf ein Objekt an? Wir haben keine Objektorientierung behandelt. Ohne ist eine sinnvolle Erklärung schwierig.
- Es gibt viele Datenstrukturen in Python: DataFrame, List, Series, Dict, Array,… Hier ist aus Sicht der Student*innen weniger eindeutig mehr.
- Im Gegensatz zu R benötigt man schon am Anfang Zusatzpakete. Bei uns waren das NumPy und Pandas. In R kann ich auch die Regression noch mit der Basisversion nutzen.
- Für jeden und jede Programmierer*in trivial, für Einsteiger*innen aber eine Hürde: Die Indizierung beginnt in Python bei 0. Solche vermeintlichen Kleinigkeiten können dazu führen, dass man Student*innen während der Vorlesung verliert.
Python in der Data Literacy Education
All diese Problemstellungen sind natürlich im Bereich der anekdotischen Evidenz zu verorten und es lässt sich trefflich darüber streiten. Mangels empirischer Evidenz darüber, wie denn die jeweiligen Lernerfolge auf Seiten der Studierenden hinsichtlich der verwendeten Programmiersprachen differieren, bleibt die Diskussion im Kern rein hypothetischer Natur. Empirische Befunde wären daher wünschenswert, um etwaige Dispute schnell klären zu können. Bis dahin hoffen wir, dass unsere Erfahrung sich auch anderswo bestätigt – am Ende des Tages kann man sich darauf einigen, dass es bei der Frage der gewählten Programmiersprache höchstens um inkrementelle Optimierung geht. Tolle Data Literacy Education geht natürlich sowohl mit R als auch mit Python. Aber mindestens aus akademischem Interesse würden wir als Data-Literacy-Forscher*innen gerne Daten haben, aus denen wir lesen können, womit die Studierenden besser Lernen: R oder Python?