EECS 487: Introduction to Natural Language Processing


Time and Location:

Staff and Office Hours:

Discussion Forum: Piazza, sign up at

Course Description

The purpose of this course is to provide a broad introduction to the fundamental concepts, tasks, and techniques of natural language processing, and its recent advances based on machine learning algorithms (e.g., neural networks) and applications for interdisciplinary subjects. The successful student will finish the course with specific modeling and analytical skills, knowledge of the most important language concepts and machine learning schemes, and a broad understanding of natural language processing models and practice. The course will serve to prepare the student for further study of NLP and AI in general, as well as to inform any work involving the design of computer programs for substantial application domains.

Syllabus, schedule, assignments, and other course-related materials are available on Canvas.

Textbook and References


This course is designed for junior/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 homeworks, quizzes, a course project, an exam, and participation: