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

Mathematical Methods in Linguistics

A friendly plug: If you are interested in this class, also consider attending the department's Mathematical Linguistics Reading Group.

Course Outline

This course is an introduction to mathematics in linguistics. It aims to help students familiarize themselves with mathematical concepts and applications that are widely relevant to theoretical and/or computational linguistics. This covers a wide range of topics, mostly from discrete mathematics. The course is also very different from what you did in high school, there's precious few numbers here and we don't care much about trigonometry or calculating compound interest. In contrast to a proper mathematics course, we also focus more on techniques and tools rather than theorems and proofs. This means that you will learn how to work with things like matrices, semirings, and lattices, but you won't have to prove things about them. So this is more like a CS methods course than a proper math class.

For more information about the content, see the syllabus.

Using the Lecture Notes

The lecture notes are made available in the pdf folder.

Ignore the rest for now. It's script for generating the pdfs from markdown via pdf, and a lot of currently broken legacy stuff for converting the markdown sources to Jupyter notebooks.

Link List

Using git

You can clone this repository to your computer and issue git pull -s recursive -X theirs on a regular basis to keep your clone up-to-date.


You can use Markdown syntax when authoring github issues or wiki entries.


If you need to write mathematical formulas, use LaTeX commands, e.g. $f(x) = \frac{x}{2}$ to typeset the fraction.


The notebooks contain Python code that you can run and edit on your own. This way you can check some of your own calculations with Python or play around with parameters to see how they affect the output of a computation.


New central repository for MathMethods lecture notes






No releases published


No packages published