Course description

The course will cover fundamental concepts and algorithms in computational linguistics and natural language processing. We will explore computational analysis from morphological level to word level all the way to the cross-linguistic level. We will cover finite state machine, n-gram language model, part-of-speech tagging, probabilistic statistical parsing, computational distributional lexical semantics, and machine translation. The lab component of the course will introduce necessary mathematical concepts such as conditional probability, Bayes’ Rule, Maximum Likelihood Estimation, Bayesian estimation, vector space, matrix operations, and inferential statistics. The assignments will be done in Python. If you do not know how to program in Python before, you will have to learn quickly during the first week of the class.


Programming assignments are worth 75% of your grade. Written assignments are worth 20%. Class participation is worth 5%.

If you are a student with a documented disability on record at Brandeis University and which to have reasonable accommodations made for you in this class, please see me immediately.

Success in this 4 credit hour course is based on the expectation that students will spend a minimum of 9 hours of study time per week in preparation for class (readings, papers, discussion sections, preparation for exams, etc.).

Prerequisites:  COSI 114A or LING 131A, or permission of the instructor.

This course is required for Computational Linguistics MS students.