Syllabus
Programmieren für Historiker*innen mit Python (I)
Allgemeine Informationen
Kontakt der Ansprechperson
Philipp Schneider (philipp.schneider.1@hu-berlin.de)
Betreuung und Kommunikation
- Allgemeine Sprechstunde: max. 30 min (Anmeldung)
- Code-Sprechstunde für Unterstützung bei konkreten Aufgaben: 45 min (Anmeldung)
Beteiligte Institutionen
Ressourcen zum Kurs
Formale Informationen
-
Programmieren für Historiker*innen mit Python (I)
– 51462
- Übung
- Mittwoch: 12-14 Uhr
- Präsenz (mit Möglichkeit für hybride Lehre in Ausnahmefällen)
- Ort: Dorotheenstraße 26, Raum 117 (Flexpool)
- Beginn: 22. Oktober 2025
Kommentartext
Daten werden auch in den Geschichtswissenschaften zunehmend als Forschungsressource relevant. Nicht nur die Zahl der öffentlich verfügbaren digitalisierten historischen Quellenbestände nimmt stetig zu, sondern auch die Produktion der genuin digitalen Daten in Sozialen Medien, Wissenschaftsblogs, Foren, Webseiten, Datenbanken oder auch Fachportalen. Gleich ob die geschichtswissenschaftlichen Fragestellungen sich auf die mittelalterliche oder jüngste Zeitgeschichte beziehen, Programmierkenntnisse können auf vielfältige Weise das historische Arbeiten ergänzen, um sich die digital verfügbaren Informationen zunutze zu machen. Sie bieten zum einen das Handwerkszeug, um effizient Daten zu sammeln, organisieren, verarbeiten und analysieren. Zum anderen sensibilisiert der Umgang mit Programmiersprachen für die Funktionsweise der Algorithmen und Werkzeuge die wir in den digitalen Geistes- und Geschichtswissenschaften verwenden.
In der Übung werden die Grundlagen der Skriptsprache Python gemeinsam erarbeitet. Python ist eine weit verbreitete, einfach zu lernende und lesende Programmiersprache, die sowohl in den Data Science als auch der Softwareentwicklung in (außer-)universitären Forschungseinrichtungen ebenso wie in der Industrie zum Einsatz kommt. Zugeschnitten auf den geschichtswissenschaftlichen Arbeitsprozess werden Grundkenntnisse im algorithmischen Denken, zentraler Datentypen und -strukturen sowie der Python-Syntax vermittelt. Ziel der Übung ist es, Studierende ganz praktisch an das Programmieren heranzuführen, um auf diese Weise weiteres Potential für digitale Forschungsansätze aufzuzeigen.
Der Syllabus der Übung findet sich unter: https://hu.berlin/wise2025-syllabus-python-1
Literatur:
Melanie Althage, Martin Dröge, Torsten Hiltmann, Philipp Schneider, Python für Historiker:innen. Ein anwendungsorientierter und interaktiver Einstieg, 20.07.2022, Jupyter Book, (v1.0), https://digital-history-berlin.github.io/Python-fuer-Historiker-innen/home.html , https://doi.org/10.5281/zenodo.6868043
Präsenztermine
- 15 Termine á 1,5 Std.
- Präsenzzeit: 25 Stunden
- Selbstlernzeit: 65 Stunden für die Vor- und Nachbereitung der LV und der speziellen Arbeitsleistung
- Gesamt: 90 Stunden
(nach Modulbeschreibung M-02 Methodik und Theorie)
Sprache des Lernangebots
Deutsch
Inhaltlich-thematische Zuordnung
Thematischer Inhalt
Erlernen der Grundlagen der Programmiersprache Python für den Einsatz in den Geschichtswissenschaften.
Formal laut Modulbeschreibung M-19 Geschichte als Praxis
Praktisch ausgerichtete Übung und Exkursion zu möglichen Berufsfeldern
Erkundung möglicher Berufsfelder oder praktische Tätigkeiten einer Historikerin bzw. eines Historikers im Rahmen des Studiums. z.B. EDV-Erfahrungen, Kommunikations- und Medienkompetenzen, Präsentationstechniken, Moderationstechniken und weitere Anwendungsmöglichkeiten historischer Theorien, Methoden und Techniken
Curriculare Verankerung des Lernangebots
Siehe den Strukturbaum bei AGNES
Art des Leistungsnachweises
Laut Anlage 2 der Studienordnung sind verschiedene Optionen für einen Leistungsnachweis möglich.
- schriftliche Ausarbeitungen (je ca. 10 Seiten/25.000 Zeichen inkl. Leerzeichen)
Für die Übung Programmieren für Historiker:innen mit Python (I) erfolgt der Leistungsnachweis über einen Computational Essay, der in Umfang und Art und Weise dem Portfolio entspricht. Der Computational Essay wird als Jupyter Notebook eingereicht. Er umfasst die Bearbeitung einer geschichtswissenschaftlichen Fragestellung, die mit einer selbst gewählten digitalen Methode im Rahmen eines Programmierprojekts bearbeitet wird.
zu erlangende ECTS
2-3 LP
Studienleistung (unbenotet)
Die Punkte für die Studienleistung setzen sich auf die folgende Weise zusammen:
Teilnahme und Mitarbeit macht 1 LP aus
+ 1 LP (insgesamt 2 LP):
- Bearbeitung und Abgabe aller Hausaufgaben
+ 2 LP (insgesamt 3LP):
- Vorstellen einer Haus- oder einer Übungsaufgabe
Modulabschlussprüfung (benotet)
Für eine Modulabschlussprüfung (2LP) in den Modulen Methodik und Theorie oder Geschichte als Praxis ist zusätzlich zur unbenoteten Studienleistung noch folgende Leistung zu erfüllen:
Computational Essay
- Durchführung und Abschluss eines kleinen Programmierprojekts und Anfertigen eines Computational Essays zum Projekt (ca. 60% Text, 40% Code)
- Beispiel im Modul Methodik und Theorie: ca. 25.000 Zeichen, davon ca. 18.500 Zeichen Text und ca. 6.500 Zeichen Code
- Bearbeitung eines Datensatzes an einer geschichtswissenschaftlichen Fragestellung
- Es gelten die üblichen Vorgaben zu wissenschaftlichem Arbeiten, auch hinsichtlich Rechtschreibung, Literatur- und Quellenangaben und Anmerkungsapparat
Adressierte Zielgruppe
Masterstudierende im Master-Schwerpunkt Digital History, die im 1. Semester des Masterstudiums stehen. Zunächst richtet sich das Angebot an Studierende der des Master-Schwerpunkts Digital History, aber ebenso zählen Studierende anderer geisteswissenschaftlicher Fächer zur Zielgruppe.
Vorwissen der Zielgruppe
Kein Vorwissen erforderlich
Heterogenität der Zielgruppe
- Studierende könnten unterschiedliches Vorwissen mitbringen
- einige Studierende könnten bereits Programmiererfahrungen in anderen Sprachen mitbringen
- Unterschiedliche Kenntnisstände im Bereich Data Literacy sind zu erwarten.
- Unterschiedliche Vertrautheit im Umgang mit dem Computer ist zu erwarten.
- Im Bereich Lernpräferenzen ist davon auszugehen, dass es unterschiedliche Lerntypen geben wird. Zudem werden ggf. unterschiedliche Lernmedien präferiert werden: Text/Lehrbuch, Lernvideos/Tutorials, Unterrichtsgespräch.
Anzahl der Lernenden
zwischen 15 und 25
Lernergebnisse und Kompetenzen
- Welche Lernergebnisse (learning outcomes) sind mit dem Lernangebot intendiert?
- Welche konkreten Kompetenzen sollen Lernende auf welchem Niveau im Rahmen des Lernangebots entwickeln?
Learning Outcomes
Die Übung führt in Grundlagen der Programmierung mit Python ein. Dazu gehören u.a. das Verständnis von verschiedenen Datentypen, bedingte Anweisungen, Schleifen, Funktionen, Listen, Dictionaries, Tupel, Verarbeitung von Dateien, sowie die Nutzung externer Programmbibliotheken. Die Studierenden erlangen in der Übung zugleich erste Praxiserfahrungen, da die Inhalte anhand regelmäßiger Übungsaufgaben vermittelt werden.
Lernziele:
- Übergeordnetes Lernziel: Einstieg in Programmieren mit Python zur Nutzung in den Geschichtswissenschaften bekommen
Die Studierenden sind in der Lage:
- atomare Datentypen zu kennen und zu nutzen
- grundlegende Programmierstrukturen (bedingte Anweisungen, Schleifen, Funktionen) anzuwenden
- Datenstrukturen wie Listen, Dictionaries, Tupel zu verstehen
- Dateien in eigenen Anwendungen zu verarbeiten (Textdateien, JSON, CSV)
- einfache automatisierbare Aufgaben algorithmisch umzusetzen
Angestrebte Kompetenzen und Kompetenzniveaus
Fachliche Kompetenzen
- grundlegenden Python-Code selbstständig entwickeln
Soziale Kompetenzen
- Zusammenarbeit und Austausch beim Erstellen von Python-Code
- Frustrationstoleranz bei Fehlern und fehlerhaften Code
Didaktisches Konzept
Lern-/Lehrmethoden
- Unterrichtsgespräch mit Präsentationen
- Hands-On Coden in Präsenz in Jupyter Notebooks
- Pair Programming
- Gruppenarbeitsphasen
- Einzelarbeitsphasen
- selbstständige Bearbeitung von Aufgaben in Jupyter Notebooks im Selbstlernen
Individualisierung
- Es ist nicht vorgesehen, Lerninhalte / Lernwege zu individualisieren
- Zusatz-Aufgaben und Zusatz-Übungen könnten gestellt werden
- Fortgeschrittene Studierende können als Tandem-Partner eingeteilt werden
Individuelles Feedback
- Feedback zu Hausaufgaben im Rahmen von Unterrichtsgesprächen
- Feedback in vereinbarter Sprechstunde möglich