CS 6120/4120: Natural Language Processing

Time and Location: Mondays and Wednesdays from 2:50 pm - 4:30 pm in Churchill Hall 101

Instructor: Lu Wang, Office Rm 2211, 177 Huntington Ave.

Staff and Office Hours:

Discussion Forum: Piazza, sign up at piazza.com/northeastern/fall2019/cs4120cs6120

Important Announcement

[12/22019] The final exam will be at Behrakis Health Sciences Cntr 310, 3:30pm-5:30pm on December 12.

[10/23/2019] Prof. Lu Wang' office is moved to Rm 2211, 177 Huntington Ave.

[9/4/2019] The link to Piazza has been updated (and tested as working well), please sign up.

[9/4/2019] Please notice the classroom change: the lectures will take place in Churchill Hall 101.

[9/1/2019] We will have a quiz with 20 simple True or False questions (relevant to probability, statistics, and linear algebra) in the end of lecture on Sep 9. This quiz will be graded, but will not be counted in your final score if you're enrolled in CS6120/CS4120. The purpose of this quiz is to indicate the expected background of students. 80% of the questions should be easy to answer. If you find yourself struggling with this quiz, it's possible that you need to catch up on the background or it may be preferable to take one or two preliminary courses.

Course Description (and Syllabus)

This course aims to introduce fundamental tasks in natural language processing, and its recent advances based on machine learning algorithms (e.g., neural networks) and applications for interdisciplinary subjects (e.g., computational social science). The course materials are mostly delivered as lectures, and accompanied with reading materials. The students will be evaluated based on in-class quizzes, assignments, a research-driven course project, and open-book exams.

Please find the syllabus here: [Link]

Textbooks and Reference


This course is designed for graduate students and senior undergraduate students majoring in computer science, linguistics, and other related areas. Students who take this course are expected to be able to write code in some programming languages (e.g., Python, Java, or C/C++) proficiently, and finish courses in algorithms (CS 5800 or CS 7800), multivariable calculus, probability, and statistics. Linear algebra is optional, but highly recommended. It would be beneficial if the students have prior knowledge on supervised machine learning.


Each assignment or report is due by the end of day on the corresponding due date (i.e. 11:59pm, EST). Blackboard is used for electronic submission. Assignment or report turned in late will be charged 20 points (out of 100 points) off for each late day (i.e. every 24 hours). Each student has a budget of 5 days throughout the semester before a late penalty is applied. You may want to use it wisely, e.g. save for emergencies. Each 24 hours or part thereof that a submission is late uses up one full late day. Late days are not applicable to final presentation. Each group member is charged with the same number of late days, if any, for their submission.

Grades will be determined based on two assignments, eight in-class quizzes, one course project, one open-book prelim, one open-book exam, and participation:


Sep 4 & 9 (quiz 0) & 11

Sep 16 (quiz) & 18

Sep 23 (quiz) & 25

Sep 30 (quiz) & Oct 2

Oct 7 (quiz) & Oct 9

Oct 14 (No class: Columbus Day)

Oct 16

Oct 21 (quiz) & 23

Oct 28 (quiz) & 30

Nov 4 & Nov 6

Nov 11 (No class: Veterans Day)

Nov 13

Nov 18 (quiz) & 20

Nov 25 (quiz)

Nov 27 (No class: Thanksgiving Day)

Dec 2 & 4

Dec 12

Academic Integrity

This course follows the Northeastern University Academic Integrity Policy. All students in this course are expected to abide by the Academic Integrity Policy. Any work submitted by a student in this course for academic credit should be the student's own work. Collaborations are allowed only if explicitly permitted. Violations of the rules (e.g. cheating, fabrication, plagiarism) will be reported.