Lesson Directory

We invite you to browse around. If you can’t find a skill, technology, or tool covered here, please let us know!

Application Programming Interfaces (APIs)

APIs let you programmatically request specific information from a website. Learn how to use them.

Data Management

You put a lot of effort into your research. Make sure that effort lasts by adopting sustainable strategies to your code, your data, and your research processes. A little bit of planning can save you a lot of time.

Data Manipulation

Just like it sounds, learn how to use programming to change, move, clean, or count data. These are essential techniques for preparing data to be used with various tools.

Distant Reading

Computational tools allow you to make sense of a lot of documents at once. The Naive Bayesian is a machine learner. Given some examples of the kind of thing you are interested in, it can quickly find many more. A topic modeling tool takes a single text (or corpus) and looks for patterns in the use of words; it is an attempt to inject semantic meaning into vocabulary. It can help you to very quickly find ‘topics’ in a large corpus of texts.

Getting Ready to Program

If you’re new to programming in python, you’ll first need to set up a programming environment. For the most flexibility, we recommend that you follow these instructions on setting up python on the command line.

Many of the tutorials require that you install one or more python modules to save you time coding. If this is a new concept for you, read about how to install Python modules in the lesson below.

Linked Open Data

Many research datasets are published as Linked Open Data, a format that allows flexible querying and interlinking of complex sources. Get an introduction to manipulating these databases by working with some real-world examples.

Mapping and GIS

Mapping can be an effective way to visualize and interpret historical data. These lessons introduce historical geographic information systems (GIS) using open source software.

Network Analysis

Network visualizations can help humanities scholars reveal hidden and complex patterns and structures in textual sources.

Digital Exhibits and Augmented Reality

Learn how to present historical materials online.

Web Scraping

Learn how to use programming to download material from the Internet in a controlled, semi-automated manner.

Introduction to Python

The Programming Historian was originally written as a series of (mostly) Python lessons that were intended to be followed in sequence.