EECS 498-004: Introduction to Natural Language Processing

Time and Location: Mondays and Wednesdays 10:30am - 12pm, online via Zoom (Zoom link is provided on Canvas and Piazza)

Instructor: Lu Wang

Staff and Office Hours:

Discussion Forum: Piazza, sign up at

Course Description

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 and a research-driven course project.

Textbooks and Reference


This course is designed for senior undergraduate students majoring in computer science, information 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 is recommended) proficiently, and finish courses in algorithms, 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). Canvas 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 8 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. There is no need to inform the instructors if late days are used; timestamp of the last submission on Canvas will be used for automatic grade calculation.

Grades will be determined based on assignments, project, and participation:

Sample Writeups for Previous NLP Course Projects

Schedule (tentative)

Jan 20

Jan 25 & 27

Feb 1 & 3

Feb 8 & 10

Feb 15 & 17

Feb 22 & 24 (well-being break, no class)

Mar 1 & 3

Mar 8 & 10

Mar 15 & 17

Mar 22 & 24

Mar 29 & 31

Apr 5 & 7

Apr 12 & 14

Apr 19 & 21