CDH-cookbook

What is the Role of Programming in the Humanities?

^ Main contents

Contents

If you are taking these courses, chances are you are a student or academic working in the Humanities who believes that you need coding skills to complete a project or analyse your data. Because most lessons one finds online are geared towards people from STEM backgrounds, we believe it is important to provide here some guidance and opportunities for reflection about conceptualising your project in terms of digital tools, and how to see where code could potentially help your work grow.

Could Your Project Benefit from Digital Tools?

It is probably helpful for you to read the following section even if you already have a clear idea of what you want to achieve, because this section is designed to challenge you to think about your research in different ways.

Digital Humanities is a broad umbrella term for multiple areas of enquiry and research, all of which are connected by the presence of ‘digital’ things: digital concepts, digital methods, and digital material. While today all scholars, whether they be in the Sciences or the Humanities, use digital tools, you may not think of yourself as a ‘Digital Humanist’. Fortunately, you don’t have to be in the field of Digital Humanities to make use of its advancements. This course takes the practical perspective that code can be accessible and useful to any scholar regardless of their affiliations.

It is very possible that your research could benefit from code. One of the challenges that scholars in the Humanities often face is not knowing what is possible with code, and being uncertain if they should learn to code or try to use code in their research. A way to navigate this impasse is to think about your project in very practical terms:

For example, a hypothetical and very basic scenario: you have research aims which do not involve digital analytical tools, but in order to meet them, you have to process a lot of files of text in the same way, over and over. This is a prime candidate for a digital tool, because you can automate repetitive tasks using some code. Of course many Humanities research scenarios involve much more complex tasks than this!

The answers to these questions vary infinitely by one’s project, but there are general questions that can help you determine whether your project could benefit from automation:

These are indicators that you either have data which can be handled with digital processes, or you have tasks which can be automated. If this is the case, your project can likely benefit from code, and there probably already exist software packages (organisations of code) which can be used to manage your data.

There is also a second potential scenario: the research questions or aims which you have could be either achieved, or enhanced, through the use of digital tools. We can use my own PhD thesis as an example. My fundamental research question was: within a large corpus of medieval manuscript material in Hebrew, are there verifiable patterns of codicology (physical format of the manuscripts) and linguistic features? People have attempted answers to similar questions in my field without the use of automation, but they were only able to do so either on a very small number of manuscripts at a time, or in projects which span decades and involve large groups of researchers. I decided to look for methods which would enable me to find patterns quickly and reliably in a larger number of manuscripts. The most appropriate methods involved building (by code) a relational database, running statistics on my data (using code), and designing and running (using code) an unsupervised machine learning approach for finding patterns in my data. For me, code and computational tools were essential to this project.

For scholars considering using technological approaches and/or computational tools for their Humanities research, the following questions can be of assistance:

These are some (and certainly not all!) indicators that your research project could be enhanced, achieved, or even transformed with the use of digital or computational tools and code.

A central theme appears here which revolves around making sense of and managing data. Many Humanities researchers think that they don’t have data, or that they don’t have a lot of data. In the vast majority of cases, this is simply untrue. Enlightening statistical tests can be run on small datasets, and most of what that one describes, and even how they describe it, count as pieces of data which can be analysed by a computer in some way. Moreover, small datasets which are complex (involving multiple known or undiscovered relationships between entities) are also prime candidates for the use of digital or computational tools.

How to Find Methods and Code to Help Achieve Research Goals

There are possibly an infinite number of ways in which digital or computational tools can be used to support Humanities research, so here are a few guidelines to assist you in discovering possibilities for your situation:

  1. Put your research question/task/objective into very specific terms. What exactly do you want to do? What specifically do you want to know? Describe to yourself and write down the process you imagine going through to meet these objectives. The more specific you can be, the easier it will be to find exactly what you need.
  2. Break down your project into discrete steps. It is highly likely that you will use different methods at different steps. For example, in my PhD I made use of relational databases, descriptive statistical methods, multiple machine learning methods, and data visualisation methods to achieve the outcome of my project.
  3. Reach out to scholars in Computer Science, Digital Humanities, or Data Science, and ask them what kinds of methods might help. The majority of the time, people in these fields are more than happy to help one find the right method for one’s research. It is important to know from the start that these fields are typically highly collaborative, and often the only way to progress is to interact with and get support from others.
  4. The internet is your friend. Chances are, the research question you are asking has an analog in another project or question which someone has probably written about. Indeed when digital or computational tools are involved, many quality outputs are open-access and available online. Do a search, or post in forums, and you will find that there are often plenty of resources that will appear to hand. The best approach is to search in a variety of ways, rather than just rely on one method. Use Digital Humanities resources, such as forums, websites, blogs (an excellent place to start is The Programming Historian) to find examples and pointers.

Reflection

How might you integrate coding, digital, or computational tools into your own research project? Would it play a central role? Would it support peripheral things, like basic data management or analysis? Could it enable central things, like the analysis itself?

Written by Estara Arrant, 2025-04-16
Licence: CC BY-SA 4.0