Official course website for Mathematical Methods in Linguistics (Lin 539), Stony Brook University, Fall 2017
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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 integrals 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 as Jupyter notebooks in the notebooks folder of the main github repository. A Jupyter notebook is a mixture of text and Python code, which allows for a more interactive learning environment. You can view the notebooks directly on github, but this does not work perfectly as github ignores some layout instructions and does not allow you to execute any of the Python code --- you'd be looking at a static, impoverished snapshot of the interactive notebook. I urge you to read the instructions on how to get the Jupyter notebooks to work on your computer.

Assigned Units per Week

  • 09-08: everything in 01_intro and 02_foundations up to 04_app_grammars; exercises and missing units will be uploaded on Tuesday
  • 09-15: folders 05 and 06 in 02_foundations; exercises have been added to the existing file
  • 09-22: 03_infinity and 04_relations up to 01_app_precedencegrammars
  • 09-29: 04_relations on tree relations; exercises have been added to the existing file
  • 10-06: everything in 05_orderings
  • 10-13: the first unit in 06_graphs
  • 10-20: units 03 to 06 in 06_graph

Link List

Using git

I recommend that you 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.