Lesson Directory

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

The Original Programming Historian

The Programming Historian was originally written as a series of lessons that were intended to be followed in sequence. The other lessons on the site are mostly independent of one another, and can be followed in any order.

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 in various tools.

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.

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.

Omeka Exhibit Building

Learn how to present historical materials online.

Topic Modeling

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.

Web Scraping

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