CS 519-001, Natural Language Processing, Spring 2017

Coordinates TR, 4-5:20pm, BEXL 207 [Registrar] [Canvas]
Instructor Liang Huang
TAs Juneki Hong
Office hours T/R 5:20-6pm, KEC 2069 (Liang).
M/F 2-3pm KEC Atrium (Juneki).
  • required: algorithms: CS 325/519/515.
    a solid understanding of dynamic programming is extremely important.
  • required: proficiency in at least one mainstream programming languages (Python, C/C++, Java).
    HWs will be done in Python only. You can learn Python from these slides in 2 hours.
  • recommended: automata and formal language theory: CS 321/516.
  • recommended: machine learning: CS 534.
  • Jurafsky and Martin, 2009 (2nd edi.), Speech and Language Processing. (default)
  • Manning and Schutze. 1999. Foundations of Statistical Natural Language Processing.
  • HWs: programming homework (in groups of 3): 12% x 5=60%.
  • EXs: simple exercises (individually): 3% x 3=9%.
  • paper review: 12%.
  • quizzes: 7+7=14%.
  • class participation: 5%.
  • no exams, no project.
Other Policies
  • this course can be used to fulfill the AI area requirement.
  • no late submission will be accepted (since you work in teams).
  • class participation: reward for helping others on Canvas, reporting bugs, etc.
Previous Offerings
  • Jurafsky and Manning (Stanford)
  • Collins (Columbia) -- more mathematical



EXs are to be done individually. They usually prepare you for HWs and quizzes.

Programming Assignments

HWs (to be done in groups of 3) are generally due every other Monday at midnight.
They involve Python implementations of various dynamic programming algorithms such as Viterbi, Forward-Backward, and CKY.