Announcements (for Winter 2017)

12/01/16 In Winter 2017, Chip Huyen will be teaching an Introduction Course on TensorFlow, as a student-initiated course. This will be a great way to get a more thorough introduction to TensorFlow, the leading deep learning framework. If you're interested, you can apply to be in it.
5/1/16 For 2016-17, CS224N will move to Winter quarter, and will be titled "Natural Language Processing with Deep Learning". It'll be a kind of merger of CS224N and CS224D - covering the range of natural language topics of CS224N but primarily using the technique of neural networks / deep learning / differentiable programming to build solutions. It will be co-taught by Christopher Manning and Richard Socher.

Welcome to CS224N!

Dear CS224N Students,

Welcome to CS224N: Natural Language Processing! Here's an overview of how we plan on running the course this quarter.


Lectures will be held in Skilling Auditorium. Attendance is encouraged as interactive tutorials and discussions will occur during lecture times.

Course Website:

The class website can be found at (a.k.a.,, where we will post all the course material this quarter including course announcements, so please be sure to frequently check for updates. A tentative syllabus is already up, so be sure to check it out if interested.

Further, we will be using OpenEdX for additional videos and weekly quizzes, which can be found here.

Discussion Forum and Contact Staff:

We will also be using Piazza as the primary tool for discussions this quarter. You can find the class webpage on Piazza at Please post all questions to Piazza including private messages to instructors (Piazza allows for posts to be made visible only to instructors) as those posts will be responded to first. E-mails sent to the staff should be sent to the staff mailing list ( instead of individual staff e-mail address.

Please don't hesitate to contact us if you have any questions. Looking forward to a great quarter!

This year's final project reports are online now!

Course Description

This course introduces the fundamental concepts and ideas in natural language processing (NLP), otherwise known as computational linguistics. Ever wondered how Google Translate works, or how companies do automated resume processing? Want to build a computer that understands language? This course is for you. It develops an in-depth understanding of both algorithms for processing linguistic information and the underlying computational properties of natural languages. We consider word-level, syntactic, and semantic processing from both a linguistic and an algorithmic perspective, aiming to get up to speed with current research in the area. The course focuses on modern quantitative techniques in NLP -- using large corpora, statistical models for acquisition, disambiguation, and parsing -- and the construction of representative systems.

Understanding language is a very complex thing -- but something that humans are amazingly good at:

xkcd 1576: I could
        care less

Course Information

Lectures: Tue/Thur 3:00-4:20
Location: Skilling Auditorium
Instructor: Chris Manning
TAs: Danqi Chen
Mihail Eric
Jade Huang
Neha Nayak
Ashwin Paranjape
Chris Billovits
Nishith Khandwala


Piazza: CS224N forum
Post questions, find project partners, etc.

Staff mailing list:

AFS space:

Stanford computer cluster: Farmshare

Office Hours:
Chris Manning: Tue 11am-12pm, Gates 248
Danqi Chen: Thu 4:30-6:30pm, Gates 234
Mihail Eric: Wed 10am-12pm, Tech Lounge (Lathrop Library 1st Floor)
Jade Huang: Thu 10:30am-12:30pm, Tech lounge (Lathrop Library 1st Floor)
Neha Nayak: Wed 7-9pm, Huang Basement
Ashwin Paranjape: Mon 2-4pm, Tech Lounge (Lathrop Library 1st Floor)
Chris Billovits: Fri 1-3pm, Tech Lounge (Lathrop Library 1st Floor)
Nishith Khandwala: Fri 3-5pm, Huang Basement

Coding Session: Mon 6:10-9:10pm, GESB131

Project Guidelines

Project Ideas

Past Projects