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)
  • Email

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

Sitzungsübersicht

Sitzungsübersicht