R for Political Science

Syllabus

General

Kurs

  • 📍 Universitätsstr. 3b
  • 🕒 09:00 – 14:00

Sitzungen

  • Fri (11.07.2025): Übungsraum K12A
  • Sat (12.07.2025): Raum 002
  • Fri (18.07.2025): Übungsraum K12A
  • Sat (19.07.2025): Raum 002

Moodle

Instructor

Goals

Ziel des Kurses ist es, Wissen und Fähigkeiten zu vermitteln, die es euch ermöglichen, eigenständig Datenanalyseprojekte durchzuführen. Dazu zählt auch die Fähigkeit, neue Probleme anzugehen und kreative Lösungen zu finden. Konkret werden wir folgendes abdecken

  • reproduzierbaren R code schreiben und debuggen
  • Workflow und Programming Konventionen
  • Data wrangling
  • Data mining
  • Data communication
  • Umgang mit AI Tools
  • lernen, weiter zu lernen

Coden lernt man am besten durch ausprobieren. Dieses Seminar wird daher vor allem Workshop-Charakter haben. Das heißt, ich plane etwa die Hälfte der Zeit dafür ein, euch etwas vorzustellen und die andere Hälfte der Zeit dafür, dass ihr (interaktiv) coden könnt.

Requirements

In diesem Seminar werden 5 Leistungspunkte erworben. Das entspricht insgesamt 125 Stunden Aufwand, der sich dabei in folgende Punkte aufteilt:

Aktive Teilnahme 💬 (1 LP)

Der Kurs lebt durch eure regelmäßige und aktive Beteiligung. Das gilt zwar für jeden Kurs, aber ist ganz besonders in diesem Format wichtig. Wir werden viel hands-on programmieren, auf Probleme stoßen und versuchen, diese gemeinsam zu lösen.

Problem Sets 🤖 (2 LP)

Zu jeder Sitzung gibt es ein Problem Set, um das gelernte anwenden zu können. Ihr sollt in diesen Übungen kreative und unterschiedliche Lösungen finden, lernen, richtig um Hilfe zu fragen (und zu erklären, was genau nicht funktioniert) und euch gegenseitig zu helfen. Die Übungen stammen aus dem Buch von Kosuke Imai und Nora Webb Williams Quantitative Social Science: An Introduction in tidyverse.

Die Problems Sets sollt ihr bis zum 30. September auf Moodle hochladen.

Insgesamt sollt ihr 8/10 dieser Übungen abgeben.

Data Project Report 🗂️ (2 LP)

Zum Ende des Semester solltet ihr in der Lage sein, ein eigenständiges Datenanalyseprojekt durchzuführen, in dem ihr Programming und Workflow Konventionen anwendet. Das Projekt sollte folgende Punkte abdecken

  • motivierende Forschungsfrage
  • zwei unterschiedliche Datenquellen finden und verknüpfen
  • Daten aufbereiten
  • Desktiptive Statistiken (Graphiken und Tabellen)
  • Analysen (Graphiken und Tabellen)
  • Fazit

Der geschriebene Text kann sehr knapp ausfallen, es geht um die Datenarbeit.

Findet euch in Gruppen bis zu 4 Personen dafür zusammen. Optimaler Weise hat dieses Projekt etwas mit euren Interessen zu tun, sodass ihr das als Grundlage für spätere Arbeiten wiederverwenden könnt. Startet diesen Prozess früh.

Tragt euch für die Gruppenfindung bitte für ein Team im Pad auf Moodle ein.

AI Tools 🧠

Wir werden uns natürlich auch damit beschäfitgen, wie AI unseren Code besser machen kann. Aber erst ganz am Schluss. Ich glaube, dass man nur dann dem brainrot nicht verfällt, wenn man zuerst die ganze Reibung, die mit echtem Lernen verbunden ist (also das sich-den-Kopf-zerbrechen, scheitern, neu anfnangen, dann wieder gegen-die-Wand-rennen) hinter sich hat. Ohne diesen langsamen Prozess, diese Reibung, können wir nicht nachvollziehen, warum die AI Sachen sehr schnell (oft) richtig macht.

Wenn ihr wirklich lernen wollt, lasst euch keinen Code von AI schreiben.

Lektüre 📚

Coden lernt man am besten durch ausprobieren, worauf der Fokus dieses Seminars liegt. Trotzdem gibt es sehr gute Literatur, die uns hilft, R besser zu verstehen. Lest die Lektüre also gern in Vor- und Nachbereitung.

Wir werden dabei vor allem auf das Standardwerk zurückgreifen:

Darüberhinaus gibt es noch viele weitere, kostenlose Ressourcen, die euch online zur Verfügung stehen. Nur zwei sehr gute Beispiele:

Viele Anwendungsbeispiele, die Problem Sets und Daten kommen aus dem nicht kostenlosen Buch von Kosuke Imai und Nora Webb Williams

Course Structure

Jede Session (bzw. jeder Seminartag) ist in thematische Units unterteilt (siehe Course Plan). Da es sich um ein Blockseminar handelt, werden wir an jedem Tag viele unterschiedliche Themen behandeln. Ich werde versuchen, die Sitzungen abwechslungsreich zu gestalten, mit unterschiedlichen Formaten und Zeit für Gruppenarbeit.

Ich schlage vor, wir gehen folgendermaßen vor:

Time What’s happening
09.00 - 09.15 Housekeeping 🧹
09.15 - 10.30 Unit 1
10.30 - 10.45 Coffee Break ☕ 🚬
10.45 - 12.00 Unit 2
12.00 - 12.45 Lunch Break 🥡
12.45 - 14.00 Unit 3

Course Plan

Session Date Unit
01 11.07. 01 R Basics
02 The Tidyverse
03 Descriptives
02 12.07. 04 ggplot2
05 Relational data
06 Loops, Functions, Simulations
03 18.07. 07 Models
08 Advanced Models
09 APIs
04 19.07. 10 Textual Data
11 Spatial Data
12 AI Tools