Einleitung

Einführungen in die Programmierung mit Python gibt es sowohl in Print als auch digital in großer Zahl. Diese richten sich allerdings zumeist an Anwender:innen aus den Computer- beziehungsweise Informationswissenschaften und warten dementsprechend mit Beispielen und Anwendungsszenarien auf, die eher technisch-mathematischer Natur sind.1 In jüngerer Zeit sind nunmehr auch einige Einführungen speziell für digital arbeitende Geistes- und Kulturwissenschaftler:innen in englischer Sprache erschienen.2 Was bislang allerdings fehlte, ist der spezifische Fokus auf geschichtswissenschaftliche Anwendungsfälle. Angebote wie The Programming Historian3 bieten zwar nützliche Tutorials in verschiedenen Sprachen, darunter Englisch, Französisch und Spanisch, zur Anwendung digitaler Tools oder der Lösung konkreter Aufgaben wie Web Scraping; eine grundlegende Einführung für Historiker:innen in einsteigerfreundlicher, deutscher Sprache mit praxisnahen Beispielen aus dem historischen Forschungsalltag fehlt allerdings.

Mit diesem Jupyter Book wollen wir ein sich dynamisch entwickelndes Angebot bereitstellen, das diese Lücke schließt, indem konkrete historische Fragestellungen und Quellen die Vermittlung der Programmierkenntnisse motivieren. Denn auch für Historiker:innen ist es in der heutigen Zeit vielversprechend, Programmieren zu lernen. Ob in der modernen Arbeitswelt oder in der Forschung – grundlegende Programmierkenntnisse sind zu zentralen Kompetenzen geworden. Computationelle Werkzeuge sind im Beruflichen wie im Privaten selbstverständliche Begleiter und Daten als der „Rohstoff“ des 21. Jahrhunderts sind 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 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 Geschichts- bzw. Geisteswissenschaften , aber auch im privaten Alltag verwenden.

Wir laden Sie daher herzlich ein, mit uns gemeinsam in das weite Feld der Programmierung mit Python einzutauchen.

Warum ausgerechnet Python?

Python ist dank einer simpel strukturierten Syntax und einer lebhaften Community eine weit verbreitete und vergleichsweise einfach zu lernende und lesende Programmiersprache. Sie kommt sowohl in den Data Science als auch der Softwareentwicklung in (außer-)universitären Forschungseinrichtungen ebenso wie in der Industrie zum Einsatz. Vor allem aber ist sie in den digitalen Geistes- und Geschichtswissenschaften etabliert und gebräuchlich, insbesondere was die Modellierung, Aufbereitung, Analyse und Visualisierung mittlerer bis größerer Datensätze betrifft. Unserer Ansicht nach bietet sie daher den idealen Einstiegspunkt.

Wenn Sie mehr über Python erfahren möchten, haben wir hier noch ein paar zusätzliche Informationen für Sie zusammengetragen.

An wen richtet sich das Jupyter Book?

Das Jupyter Book ist aus Übungsmaterialien heraus entstanden, die für Lehrveranstaltungen des Lehrangebots des Digital-History-Schwerpunkts an der Humboldt-Universität zu Berlin zwischen 2020 und 2022 konzipiert wurden. Mit der Überarbeitung und Bereitstellung dieser Materialien, sollen im Sinne von Open Educational Resources über den engeren Kreis der HU-Angehörigen hinaus Interessierte mit einem für geschichtswissenschaftliche Bedarfe zugeschnittenen Einführungswerk angesprochen werden.

Diesem Hintergrund ist es geschuldet, dass sich diese Programmiereinführung vorrangig an Historiker:innen richtet, die an digitalen Arbeitsweisen interessiert und zugleich motiviert sind, zu ergründen, wie Coding die historische Forschungsarbeit bereichern kann. Angesprochen sind damit Studierende gleichermaßen wie Doktorand:innen, wissenschaftliche Mitarbeiter:innen oder Professor:innen. Sie müssen aber kein Mitglied einer Universität sein, um dieses Jupyter Book zu nutzen - das Interesse am Programmieren und an Geschichtswissenschaften reicht völlig aus. Die Ressourcen eignen sich sowohl für Lehrveranstaltungen und Workshops als auch für das Selbststudium in Eigenregie.

In der ersten Veröffentlichungsversion des Jupyter Books werden zunächst die Grundkenntnisse der Python-Syntax, von zentralen Datentypen und -strukturen sowie im algorithmischen Denken vermittelt. In weiteren Versionen rücken dann mit verschiedenen kleinen Anwendungsszenarien etwa aus den Bereichen Data und Text Mining konkrete Methoden anhand spezifischer kleinerer Fragestellungen in den Fokus. Dieser praxisbezogene Teil wird sukzessive erweitert und um weitere Kapitel ergänzt. Die Auswahl der Lehrinhalte orientiert sich dabei an den Bedarfen historisch arbeitender Forscher:innen, das heißt, dass manche Themen, die in allgemeineren Einführungen recht früh und ausführlich behandelt werden, hier erst zu einem späteren Zeitpunkt und optional eingeführt werden, weil sie etwa erst für fortgeschrittenere Projektszenarien relevant werden. Ziel des Buches ist es damit, die Bearbeiter:innen niedrigschwellig dazu zu befähigen, geschichtswissenschaftliche Anwendungsszenarien zu identifizieren und diese selbstständig und problemorientiert codebasiert zu lösen. Es richtet sich insofern gleichermaßen an Anfänger:innen wie Fortgeschrittene und ermöglicht, die einzelnen Kapitel ganz nach eigenen Bedarfen durchzuarbeiten. Eine Einführung zur Nutzung dieser Online-Ressource finden Sie hier.

Wir wünschen Ihnen viel Spaß beim Coden!


1

Um aus der großen Fülle von Ressourcen nur einige wenige zu nennen: VanderPlas, Jake, Data Science mit Python. Das Handbuch für den Einsatz von IPython, Jupyter, NumPy, Pandas, Matplotlib, Scikit-Learn, Frechen 2018 oder Hunt, John, A Beginners Guide to Python 3 Programming, Cham: Springer 2019.

2

Siehe etwa: Walsh, Melanie, Introduction to Cultural Analytics & Python, Version 1 (2021), https://doi.org/10.5281/zenodo.4411250; Karsdorp, Folgert, Python Programming for the Humanities, Stand 2021, https://www.karsdorp.io/python-course/; und für Fortgeschrittene: Karsdorp, Folgert/Kestemont, Mike/Riddell, Allen, Humanities Data Analysis. Case Studies with Python, Princeton, NJ: Princeton University Press 2021, online: https://www.humanitiesdataanalysis.org/.

3

The Programming Historian, https://programminghistorian.org/.