This is the primary course website for Computational Linguistics 2 (Lin 637), offered by the Department of Linguistics at Stony Brook University. For a brief list of topics, check the syllabus.
This repository is publicly accessible and hosts the LaTeX source code for the lecture notes. Compiled pdfs of each chapter are available in the pdf folder.
This course assumes a certain degree of familiarity with generative syntax, phonology, and basic mathematics (sets, functions, relations, first-order logic). Please take the online survey to ensure that you satisfy the prerequisites. If you have weaknesses, consult the relevant material suggested in the readings repository (access restricted to enrolled students).
In addition, you will have to use Python, markdown and LaTeX at various points during this course. The link list at the end of this document has some useful tutorials.
If you don't want to deal with installing Python and git, you can download our virtual machine that already comes with everything preconfigured. Access is restricted to Stony Brook affiliates.
Course readings are made available through the private readings repository. You must be enrolled in this class in order to get access.
Each homework will be hosted in its own private repository. Only course participants have access to these repositories.
Homework 1: due Wed, Feb 10, 11:59am
Homework 2: due Wed, Feb 17, 11:59am
Homework 3: due Fri, Feb 26, 11:59am
Homework 4: due Wed, Mar 2, 11:59am
Homework 5: due Fri, Mar 11, 11:59am
Homework 5: due Fri, Apr 8, 11:59am
If you want to compile the lecture notes yourself, or use them as the basis for your own course, carefully follow the steps below.
- Make sure you have all necessary software installed and set up correctly, in particular
- a recent LaTeX distribution with Tikz >= 3.00 and recent versions of minted and forest
- the Python pygments package (required by minted)
-
Clone the repository via git, or download and extract the zip file. Note that the project folder will also contain an empty build folder, which is used for temporary files to speed up compilation.
-
Use the standard tex --> pdf compilation tool chain (not tex --> dvi --> ps --> pdf!), but make sure that pdflatex is run with the parameters --shell-escape and --etex.
- Github app for Windows; supports only Windows 7 or later
- Github app for Mac; supports only OS X 10.9 or later
- List of alternative GUI clients for git
- Tutorials for using git via the command line
- Official documentation for git
- Interactive tutorial to markdown basics
- Complete markdown syntax
- Overview of Github's markdown dialect
- Overleaf (formerly writeLaTeX) is an online LaTeX editor with live preview
- List of commonly used math symbols
- Andrew Roberts' Getting to Grips with LaTeX
- A succinct yet extensive tutorial for Python 3
- The official Python 3 documentation
- Automate the Boring Stuff with Python is an excellent introduction that covers the basics of Python and applies them to real-world tasks.