Python in der sozialwissenschaftlichen Methodenlehre: Motivation und Erfahrungsbericht eines Lehrprojekts von Jonas Elis, Jakob Kemper, Johanna Plenter und Paul Vierus

“SPSS, STATA, R und jetzt auch noch Python?” – dieser oder zumindest ein ähnlicher Gedanke mag vielen Leser*innen beim Anblick des Titels dieses Blogposts womöglich durch den Kopf gegangen sein. In diesem Beitrag möchten wir darlegen, warum wir Python für eine sinnvolle Ergänzung der politikwissenschaftlichen Methodenlehre halten und gleichzeitig von unseren Erfahrungen in der Durchführung berichten.

Anfang 2023 entschieden wir, ein Team von vier wissenschaftlichen Mitarbeiter*innen der Universität Duisburg-Essen und der Heinrich-Heine-Universität Düsseldorf, das Lehrangebot um einen politikwissenschaftlichen Kurs zur Einführung in die Programmiersprache Python zu erweitern. Einen solchen Kurs konzipierten und lehrten wir als Dozierendenteam im Sommersemester 2023 an der Universität Duisburg-Essen. Das Lehrangebot richtete sich an Studierende, die bereits eine Methodenausbildung im Rahmen von mindestens 8 ECTS-Punkten absolviert hatten, war ansonsten aber für Bachelor- und Masterstudierende aller Sozial- und Gesellschaftswissenschaften geöffnet. Die Einschränkung sollte sicherstellen, dass alle Teilnehmenden bereits Vorwissen über sozialwissenschaftliche Methodik und Statistik sowie Erfahrung im Umgang mit syntaxbasierter Statistiksoftware besitzen. Der Kurs bestand aus acht jeweils dreistündigen Präsenzsitzungen, vier zu absolvierenden Übungsblättern und schließlich einem Abschlussprojekt zu einem selbst gewählten Thema, mit dem die erlernten Fähigkeiten nachgewiesen werden sollten.

Unsere Motivation, Python zu lehren
Wir sind der Überzeugung, dass die Vermittlung von Python-Programmierkenntnissen an Studierende der Sozialwissenschaften vor allem aus drei Gründen sinnvoll ist: Erstens bietet Python die Möglichkeit, neue Datenquellen verschiedener Arten zu erschließen. Diese reichen beispielsweise vom Webscraping, bei dem die Daten auf im Internet verfügbaren Websites in ein mit beliebiger Software (SPSS, STATA, R, Python) analysierbares Datenformat überführt werden, über die Nutzung von APIs (Application Programming Interfaces) zum Abruf von Daten etwa der statistischen Ämter oder sozialer Medien bis hin zur Programmierung von Fragebögen in auf Python basierenden Frameworks wie oTree[1]. Zweitens ermöglicht Python, sozialwissenschaftliche Daten mit Methoden zu analysieren, die in anderer Software nicht oder nur schwierig umsetzbar sind. So ist etwa die Analyse von Textdaten in verbreiteter Statistik-Software wie SPSS, SAS oder STATA nicht möglich, sondern nur in R oder Python. Mit Libraries wie gensim, NLTK oder SpaCy können Methoden der Computerlinguistik genutzt werden, um offene Antwortfelder in Befragungen auszuwerten, oder Tweets sowohl bezüglich ihres Inhalts als auch ihrer Emotionen analysiert werden. Drittens werden den Studierenden Fähigkeiten vermittelt, die derzeit sowohl in der Forschung als auch in Unternehmen stark nachgefragt sind. In der Forschung werden Methoden der Computational Social Science z.B. zur Analyse großer Textmengen oder zur Simulation menschlichen Verhaltens eingesetzt. Unternehmen suchen intensiv nach Personal, das neben Programmierkenntnissen auch sozialwissenschaftliche Expertise mitbringen, was Studierenden neue berufliche Wege eröffnet.

Konzeption unseres Lehrplans
In der Konzeption des Seminars waren für uns zwei Aspekte handlungsleitend. Zum einen war es unser Ziel, den Studierenden statt eines tiefen Einblicks in einen kleinen Teilbereich von Python, einen möglichst breiten Überblick über die Einsatzmöglichkeiten zu geben und damit die Grundlage dafür zu schaffen, die eigenständige Einarbeitung in weitere spezifische Fähigkeiten zu ermöglichen. Zum anderen war uns die Einbettung des Seminars in einen politikwissenschaftlichen Rahmen wichtig.
Um diese Ziele zu erreichen, wurden z.B. darauf hingewiesen, dass die Verwendung von bereits veröffentlichten Skripten unter Beachtung von Regeln guter wissenschaftlicher Praxis ein gängiges Vorgehen ist. Den Studierenden wurde außerdem parallel zur Lehre von Grundlagen beigebracht, Code zu kopieren, hinreichend zu kommentieren, zu verstehen und zur Lösung der eigenen Problemstellung anzupassen. Nach unserer Erfahrung konfrontiert diese Arbeitsweise die Studierenden schnell mit komplexeren Skripten, zeigt Möglichkeiten auf und ist bei der Problemlösung effizient. Um den Studierenden die politikwissenschaftliche Dimension von Pythonprogrammierung zu vermitteln, sind wir insbesondere darauf eingegangen, dass Python einen Zugang zu bislang nur schwer erreichbaren Datenquellen und Analysetechniken ermöglicht. Als Anschauungs- und Analyseobjekt dienten uns Tweets von Kandidat*innen zur Wahl des Berliner Abgeordnetenhaus im Februar 2023. Aus den Theorien der Wahlforschung wurden Hypothesen abgeleitet, die dann empirisch anhand der Tweets überprüft wurden. So konnten wir die technischen Möglichkeiten von Python vermitteln und politikwissenschaftliche Theorie und Empirie verbinden.

Erfahrungen des ersten Durchlaufs
Im Folgenden möchten wir im Sinne eines praxisorientierten Erfahrungsaustausches aufzeigen, welche Aspekte des Kurses gut funktionierten und anschließend die Punkte auflisten, die wir bei der geplanten Wiederholung des Kurses ändern möchten.
Zunächst zu den positiven Erfahrungen: Mit rund 30 Anmeldungen stieß der Kurs auf großes Interesse bei Studierenden aller sozialwissenschaftlichen Studiengänge sowohl im Bachelor als auch Master. Da empirische, statistik- bzw. methodenlastige Seminare leider häufig mit einer ungleichen Geschlechterverteilung aufwarten, hat es uns besonders gefreut, dass ungefähr die Hälfte der Teilnehmenden weibliche Studierende waren. Auch wenn der fachliche Hintergrund der Studierenden sehr heterogen war, war ihr Interesse und der Kenntnisstand in der Gruppe eher homogen, da niemand viel Vorerfahrung mit Python hatte. Positiv bilanzieren können wir außerdem das „Bring-your-own-device“-Setup, das sicherstellte, dass Python (in Form von Anaconda und Spyder) auf den privaten PCs und Tablets lief und somit auch zu Hause genutzt werden konnte. Auch die Darstellung des gesamten Forschungsprozesses ließ sich gewinnbringend einbauen. So konnten wir eine ausgewogene Mischung aus theoretischem Hintergrundwissen, expliziter Erklärungen von Python-Code und praktischen Übungen unterschiedlichen Schwierigkeitsgrades mit anschließenden Hausaufgaben vermitteln.
Dennoch sehen wir einige Verbesserungspotentiale: Der erste Punkt betrifft die inhaltliche Dimension des Kurses mit der Einbettung in die Wahlforschung. Insgesamt konnten wir – auch aufgrund der fachlichen Heterogenität der Studierenden – dem Umfang nicht gerecht werden, weshalb wir bei einer Wiederholung die wertvolle Kurszeit anderen (python-bezogenen) Themen widmen würden. Dies sind zum einen die grundlegende Grammatik der Python-Befehle und zum anderen die Schritte des Webscrapings verschiedener Inhalte – Themen, die aufgrund ihrer Komplexität viel Vermittlungszeit benötigen. Darüber hinaus halten wir es für sinnvoll, noch mehr auf die Stärken und Alleinstellungsmerkmale von Python einzugehen und dafür einfache deskriptive oder statistische Analysen, die auch in anderen Statistikprogrammen möglich sind, ausklammern. Der zweite Punkt betrifft Inhalte, die wir bei einer Wiederholung zusätzlich vermitteln würden. Dies betrifft vor allem das Thema wissenschaftliches Arbeiten mit Programmcode aus dem Internet und KI-Tools wie ChatGPT oder Github Copilot. Der dritte und letzte Punkt betrifft schließlich die Terminierung der einzelnen Sitzungen des Kurses. Durch Konferenzreisen wurde der Lehrplan teilweise für drei Wochen unterbrochen. Auch wenn wir versucht haben, diese Unterbrechungen durch umfangreiche Hausaufgaben sinnvoll zu nutzen, hatten wir den Eindruck, dass eine engere Terminierung z.B. in Blöcken zielführend gewesen wäre.

Fazit
Wir sind überzeugt, dass Python eine sinnvolle Ergänzung der politikwissenschaftlichen Methodenlehre darstellt, da es die Fähigkeiten von Studierenden erweitert, indem es ihnen ein kostenfreies, leistungsstarkes und vielseitiges Tool für die Datenerhebung, -manipulation, -analyse und -visualisierung bereitstellt. Da Python insbesondere auch im außeruniversitären Bereich genutzt wird, vermitteln wir somit nicht nur Forschungskompetenzen, sondern einen arbeitsmarktrelevanten Skill. Es ist daher unser erklärtes Ziel, den Pythonkurs als zusätzliches Lehrangebot an der Universität Duisburg-Essen zu verstetigen.

[1] Für weitere Informationen: https://www.otree.org/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert