CS 6120/4120: Natural Language Processing

Time and Location: Tuesdays and Fridays from 3:25 pm - 5:05 pm in West Village H 108

Instructor: Lu Wang, Office 258 WVH

Staff and Office Hours:

Discussion Forum: Piazza, sign up at piazza.com/northeastern/sp2018/cs6120

Important Announcement

[2/3/2018] We will use Feb 20 lecture and office hour to give feedback on your course projects! Prepare ahead with questions!

[2/3/2018] Please notice the quiz schedule!

[1/6/2017] We will have a quiz with 20 simple True or False questions (relevant to probability, statistics, and linear algebra) in the second lecture (1/11/2018). 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. For students previously do not take any algorithm course (CS 5800 or CS 7800, see Prerequisites), an 80% or above is required to enroll in this course.

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 assignments, a research-driven course project, and an open-book final exam.

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.


Each assignment or report is due at the beginning of class on the corresponding due date. 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. 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 tests, one course project, one open-book exam, and participation:


Jan 9 & 12

Jan 16 (quiz) & 19

Jan 23 (quiz) & 26

Jan 30 (quiz) & Feb 2

Feb 6 & 9 (quiz)

Feb 13 (quiz) & 16

Feb 20 & 23 (quiz)

Feb 27 (quiz)

Mar 2 (No class: the day before spring break)

Mar 6 & 9 (No class: spring break)

Mar 13 (Class cancelled due to snow storm)

Mar 16 (quiz)

Mar 20 & 23

Mar 27 & 30 (This will be the last lecture)

April 3

April 6 & 10 & 13

April 25

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.