Vorlesung "Einführung in die digitalen Geisteswissenschaften" #11 (7.7.2025)

Programmieren

in den Geisteswissenschaften

FU Logo

Lisa Poggel Professur für Digital Humanities, FU Berlin

QR Code Presentation

Vorblick

  1. Was ist Programmieren?
  2. Wozu als Geisteswissenschaftler:in programmieren lernen?
  3. Wo wird in den Geisteswissenschaften programmiert?
  4. Wie sieht Programmieren in den Geisteswissenschaften aus?
  5. Wie gut sollte ich programmieren können?
  6. Wie kann ich das lernen?

Was ist Programmieren?

Coding

Generally, when speaking of coding, it refers to writing code — for example, writing a Python script that sorts and renames files. Often coding is associated with writing scripts or simple programs that have one specific goal (e.g., download a dataset from an API or running a specific analysis on a dataset).

Damerow et al.(2020)

Programming

Programming goes beyond the simple activity of writing code; it encompasses planning, documentation, and an understanding of the bigger picture of the resulting program. Examples would be the generalization of a piece of code to be used by others or to be published as a package as well as the initial development of a web application.

Damerow et al.(2020)

Software Engineering

Software engineering, in contrast, has an even more holistic view of the process of creating software. It does not only focus on the implementation of a program but also on its design by taking into account issues such as hardware, user, and infrastructure requirements. For instance, getting a web application to run locally on a laptop requires in many cases “just” programming. Adding test cases, setting up a continuous integration and delivery pipeline, making sure it can be deployed to different servers by externalizing configuration, and preparing it to be translated into other languages would require software engineering.

Damerow et al.(2020)

Wozu Programmieren lernen?

Ein paar mögliche Motivationen

  1. Wechsel in die DH, Arbeit an Uni, GLAM, Forschungsinfrastruktur
  2. Bessere Chancen auf dem Arbeitsmarkt ("Hard Skills")
  3. Eigene Forschung: Zugang zu Daten und/oder Methoden
  4. Grundverständnis der digitalen Welt ("Tech Literacy")

Wo wird programmiert?

Wie sieht Programmieren aus?

Beispiel 1: DraCor Python Package

Beispiel Dracor

Quelle: https://github.com/dracor-org

Pydracor Beispiel Pydracor Beispiel Pydracor Beispiel

Quelle: https://github.com/dracor-org/pydracor/

Beispiel 2: DraCor Notebooks

Dracor Notebooks Beispiel Dracor Notebooks Beispiel

Quelle: https://github.com/dracor-org

Beispiel 3: Python

Beispiel Python

Quelle: https://github.com/python

Python Beispiel Python Beispiel Python Beispiel

Quelle: https://github.com/python/cpython/

https://jupyter.org/try-jupyter/lab/

Wie gut sollte ich programmieren können?

“Should humanists learn to code?” Less than a decade ago this question would have ignited quite a controversy in the field of digital humanities (DH). Today, the consensus is that a certain level of code literacy is preferred. Instead of arguing whether code literacy deserves to be part of DH’s skill set, the debate has moved on to discussing what it means, exactly, to be code literate.

Bleeker et al.(2022)

There is a debate whether the same quality standards that are used in professional software engineering projects should be applied to computational research. Some argue that scientific code does not have to follow software engineering best practices because the users of the code are programmers with in-depth knowledge of the internal workings of the code and hence don’t require it to be well documented or maintainable (Bull; Anonymous). We disagree. While it is probably true that a lot of code developed for research is only used within the same lab by a small group of people, this does not mean that they would not benefit from good documentation and coding best practices.

Damerow et al.(2020)

Problem 1: Bad Code

Coding Errors Example

Beispiel aus Damerow et al.(2020)

Code Review gegen "Bad Code"

Imperial College Code Surgeries Code Review Working Group DHTech Global Day of Code Retreat FU DH Code Review Day

Problem 2: Bad Data

Bad Data Example

Beispiel aus Stoltz und Taylor (2024)

Problem 3: Leaky Abstractions

Bad Data Example

Beispiel aus Damerow et al.(2020)

Wie kann ich das lernen?

  1. Kombi-BA, Informatik im Nebenfach, Zweitstudium
  2. MA Digital Humanities
  3. DH-Module belegen
  4. Module an anderen Fachbereichen belegen
  5. Selbststudium: DH-Zertifikate, Sommerschulen, Online-Kurse
  6. Praktikum, SHK-Stelle

① Kombi-BA, Informatik im Nebenfach, Zweitstudium

Ausbildungsweg 1 Beispiel

Quelle: https://lehkost.github.io/

FU: Bachelor Informatik-Studienangebot (30 ECTS)

  • Das Modulangebot gliedert sich in einen Pflichtbereich (12 LP) und einen Wahlpflichtbereich (18 LP)
  • Pflichtbereich: Einführung in die Konzepte der Programmierung
  • Wahlpflichtbereich:
Wahlpflichtbereich

② MA Digital Humanities

Ausbildungsweg 2 Beispiel

Quelle: https://dhcr.clarin-dariah.eu/

③ DH-Module belegen

④ Module an anderen Fachbereichen belegen

Ausbildungsweg 3 Beispiel
  • Statistik I & II (für Wirtschaftswissenschaften, 12 LP)
  • Informatik A & B (für Wirtschafts- und Bioinformatik, 16 LP)
  • Python und Soziale Netzwerkanalyse (für Sozialwissenschaften, 7 LP)

⑤ Selbststudium: DH-Zertifikate, Sommerschulen, Online-Kurse

  • Veranstaltungen des Netzwerks Digitale Geisteswissenschaften (link)
  • Veranstaltungskalender DARIAH-EU (link)
  • CLARIAH-DE Tutorial Finder (link)
  • OpenHPI Kursverzeichnis (link)
  • KIT Vorlesungsmitschnitte, für Informatik-Grundlagen(link)
  • Stanford University Vorlesungsmitschnitte, für NLP- und Machine Learning-Grundlagen (link)
  • Zertifikat des Instituts für Digital Humanities der Universität Köln (link)

⑥ Praktikum, SHK-Stelle

  • Digitale Editionen
  • Digital Humanities-Arbeitsgruppen in Forschungsprojekten
  • Forschungsinfrastruktur: Museen, Archive, Bibliotheken, Akademien der Wissenschaften, Forschungsinstitute (MPIWG, Leipniz-Institut,...)

(Technical) Skill Signals

Skill Signals

Piopiunik et al.(2018)

Vielen Dank! Gibt es Fragen?

References

Bleeker, E., Koolen, M., Beelen, K., Melgar, L., van Zundert, J., & Chambers, S. (2022). A Game of Persistence, Self-doubt, and Curiosity: Surveying Code Literacy in Digital Humanities. DH Benelux Journal (4). https://doi.org/10.17613/03ds-9973
Damerow, J., Gibson, A., & Laubichler, M.D. (2024). “Of Coding and Quality” in “Computational Humanities”. Debates in the Digital Humanities (11). https://doi.org/10.5749/9781452973098