Textbooks


Pre-requisites

There are no hard pre-requisites for the course, but programming experience in Python and knowledge of probability and linear algebra are expected. It will be helpful if you have used neural networks previously.


Grading

This is a graduate-level course, and by the end of this class you should have a good understanding of the methodologies in natural language processing, and be able to use them to solve real problems of modest complexity. The final grades will be determined based on the weighted average of the quizzes, assignments, and project. The grading breakdown is as follows:

  • Homework Assignment 1 (15%)
  • Homework Assignment 2 (15%)
  • Homework Assignment 3 (20%)
  • Project (30%)
    • Report (10%)
    • Code (10%)
    • Presentation (10%)
  • In-class quizzes (20%)

Note that this class does not have any exams. At the last 10mins of the course, there is a quiz with multiple-choice questions. Your lowest 3 quiz grades will be dropped.


Class format

For the time being the class is expected to be in-person, although this might change depending on the COVID situation. For each class there will be:

  • Reading: Most classes will have associated reading material that we recommend you read before the class to familiarize yourself with the topic.
  • Code/Data Walk: Some classes will include a code walk through code of a particular implementation, or data.
  • Quiz: Starting from the second week, there will be a quiz covering the reading material and/or lecture material. You’re encouraged to use the last 10mins in class to fill out the quiz, but we also allow you to fill out the quiz by 5PM on the same day of the lecture.