This course introduces participants to humanities programming through the use of Python for data acquisition, cleaning, and analysis. The course assumes no prior technical knowledge and will focus on accomplishing basic research tasks. Students should walk away feeling equipped to tackle a variety of typical problems that arise for digital humanists.

We will discuss programming and debugging concepts through the design, implementation, and presentation of small projects working with humanities data. Primary technologies and topics covered in this course will include the command line, Git, GitHub, and Python; working with data sources such as API’s, CSV files, and data scraped from the web; and basic text analysis. Over the course of the week, we will work with data from DPLA and Project Gutenberg. If the words above mean nothing to you, don’t panic—this course is for you.

If you intend to bring your own laptop, you will need to have administrative rights in order to install software.

Instructions for students:

All of our course resources, exercises, and slides are at We’ll point you to some of these materials throughout the week, and you’ll also have them after the course is done.

Slides for the course are at

We’re going to have you set up with mac laptops that should have administrator access over the course of the week. This means you should be set up to just do the work of the course without having to worry about technical issues (unless you’re used to Windows, in which case Ethan can help translate for you).

We’ll be using Python 3 in the course, but don’t worry if you don’t know what that means just yet.

The advantage of having a computer lab-type situation is that we’ll all be working from the same system. Fewer technical variables. The bad thing is that it means you won’t have these things installed on your computers when you leave. The offer I usually make is to say that you’ll be working from those laptops at least for the first part of the week. But as we have time throughout the week I’m happy to help anyone set Python and everything up on their personal laptops during breaks (depending on your setup it can take a while). If you want it, though, you’ll need to make sure you’re up to date with the most recent version of High Sierra and Xcode at a minimum (if you’re on a mac). There are some other things to install as well, but that one takes the longest. TL;DR – bring your laptop if you’re planning on doing this work after the course. I’ll bang away at it with you and get it working by week’s end.

You have absolutely no work to do in advance of the course. But if you feel that you prefer having a little time to do prep ahead of time so that you won’t be hanging on too tightly during the course you might check out the appendix and first 8-9 exercises available at Again, this is material that we’ll cover in the course itself. But I’m all too aware that everyone learns at their own speeds and will have different backgrounds, so feel free to check those things out if you’d like a bit more of a foundation before we meet.

Course Website


Goldstein Undergraduate Study Center, Van Pelt Dietrich Library Center