There is no correct or preferred order to the lessons listed here; they are grouped into themes, which are listed in alphabetical order. 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.
- Intro to the Zotero API Amanda Morton
- Creating New Items in Zotero Amanda Morton
- Counting Frequencies from Zotero Items Spencer Roberts
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.
- Preserving Research Data James Baker
- Sustainable Authorship in Plain Text using Pandoc and Markdown Dennis Tenen and Grant Wythoff
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.
- Cleaning Data with OpenRefine Seth van Hooland, Ruben Verborgh, Max De Wilde
- Normalizing Data William J. Turkel & Adam Crymble
- Counting Frequency William J. Turkel & Adam Crymble
- Understanding Regular Expressions Doug Knox
- Cleaning OCR’d Text with Regular Expressions Laura Turner O’Hara
- Transliterating non-ASCII Characters with Python Seth Bernstein
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.
- Intro to Google Maps and Google Earth Jim Clifford, Josh MacFadyen, Daniel Macfarlane
- Installing QGIS 2.0 and Adding Layers Jim Clifford, Josh MacFadyen, Daniel Macfarlane
- Creating New Vector Layers in QGIS 2.0 Jim Clifford, Josh MacFadyen, Daniel Macfarlane
- Georeferencing in QGIS 2.0 Jim Clifford, Josh MacFadyen, Daniel Macfarlane
Omeka Exhibit Building
Learn how to present historical materials online.
Python Programming Basics
Some introductory lessons for basic techniques in Python. 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.
As an alternative to using the command line, many text editors are able to run python code within the editor. Some older python tutorials listed here reference one of these tools, called Komodo Edit. You can install this for Mac, Linux, or Windows.
- Installing Python Modules Fred Gibbs, Ben Hurwitz, Amanda Morton
- Code Reuse and Modularity William J. Turkel & Adam Crymble
- Manipulating Strings in Python William J. Turkel & Adam Crymble
- Working with Text Files William J. Turkel & Adam Crymble
- Viewing HTML Files William J. Turkel & Adam Crymble
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 Started with Topic Modeling and MALLET Shawn Graham, Scott Weingart, & Ian Milligan
Learn how to use programming to download material from the Internet in a controlled, semi-automated manner.
- Datamining the Internet Archive Collection Caleb McDaniel
- Automated Downloading with Wget Ian Milligan
- Applied Archival Downloading with Wget Kellen Kurschinski
- Intro to Beautiful Soup Jeri Wieringa
- Working with Web Pages William J. Turkel & Adam Crymble
- From HTML to a List of Words (part 1) William J. Turkel & Adam Crymble
- From HTML to a List of Words (part 2) William J. Turkel & Adam Crymble
- Downloading Multiple Records Using Query Strings Adam Crymble