Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Python for Linguists - a Gentle Introduction to Programming

As a linguistics undergrad, I wrote my first term paper on affixes. I spent a summer counting words by hand and collecting them in a spreadsheet. It took weeks, and once I was done, I was so tired and frustrated that I had no mind to re-run the calculations, and I had to write the actual paper in the remaining week. The outcome was predictably horrible, for everyone involved.

When I started programming in my PhD, I realized how useful even a little bit of programming would have been for that task: I could have solved the counting in a matter of minutes, and spent the rest of that summer writing a better paper and enjoying life. My hope is that this tutorial can help make someone's life a bit easier, and to show that programming is not some black art, but a useful tool in every linguists tool box.


In order to run this tutorial, you will need Python 3. The easiest way to install this is to got to Anaconda, download the installer for your operating system, and run it.

Then, download this tutorial (either as ZIP file or via GitHub clone), and open the .ipynb file. You can do this in a terminal window, by typing

ipython notebook

or through the Launcher.

If you have feedback of any sort, please feel free to contact me.



Python for Linguists – a Gentle Introduction to Programming






No releases published


No packages published