Skip to content
Official course website for Mathematical Methods in Linguistics (Lin 539), Stony Brook University, Fall 2018
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.
build ignore everything in build folder Aug 27, 2018
jupyter also create exercise divs Sep 10, 2018
notebooks recompile notebooks Nov 30, 2018
notebooks_legacy some changes Sep 13, 2018
source_legacy only carry over syllabus Sep 7, 2018
templates start hide code template Nov 28, 2018
.gitignore minor rephrasing Aug 27, 2018 update README Aug 29, 2018 do not abort compilation on errors Nov 28, 2018 use .call instead of .Popen so that script stay in foreground Sep 4, 2017

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 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.

If you are a Stony Brook student, you should instead use the preconfigured Jupyter server for this course. The server can only be accessed from a campus network. Right now you have to use Stony Brook's VirtualSINC to connect, but hopefully the server will soon be accessible online without jumping through this extra hoop.

Everybody else should consult the instructions on how to get the Jupyter notebooks to work on your computer.

Assigned Units per Week

  • will be announced each week per email

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.

You can’t perform that action at this time.