Folgert Karsdorp & Maarten van Gompel

Tutorial and introduction into programming with Python for the humanities

View the Project on GitHub fbkarsdorp/python-course

What to expect?

The programming language Python is widely used within many scientific domains nowadays and the language is readily accessible to scholars from the Humanities. Python is an excellent choice for dealing with (linguistic as well as literary) textual data, which is so typical of the Humanities. In this tutorial you will be thoroughly introduced to the language and be taught to program basic algorithmic procedures. This tutorial expects no prior experience with programming, although we hope to provide some interesting insights and skills for more advanced programmers as well. The tutorial consists of six chapters.

Installation instructions

In the course we will be using iPython Notebook software that works best with Google Chrome, Firefox and Safari will also work. Internet Explorer is not supported!

We will be using Python 3 in this tutorial, so lower versions of Python are not sufficient. Below we describe the installation procedure for Python and the necessary dependencies for this tutorial.

We also recommend you to install a good text editor, such as Sublime text 2. You are of course absolutely free to use your own favorite editor.

All platforms




  • Only take these steps if you know what you are doing. Otherwise, simply download and install the Anaconda Python Distribution (see above).
  • Ubuntu 12.10 and above:

    If you are on another distribution, look for similar packages. If no package like ipython3-notebook is available for your distribution (such as on Ubuntu 12.04 and below). Then follow the below procedure instead. Adapt the lines with apt-get lines for your package manager, on Fedora/RedHat/CentOS and SuSE this will be yum instead:

    Static Notebooks

    If you do not want to install the ipython notebook or just want to see what the tutorial is about, you can check out the static notebooks below.

    Chapter 1 - Getting started

    Chapter 2 - First steps into text processing

    Chapter 3 - Text Analysis

    Chapter 4 - Programming principles

    Chapter 5 - Building NLP applications

    Chapter 6 - Object Oriented Programming