Current Information

For students interested in taking Natural Language Processing in Fall 2017:

Course self-enrollment is capped at 65, but if the course remains full (I am glad to see so much interest!) and you wish to take it then come to lecture and speak with me afterward. During the first two weeks of the semester I may be able to help you.

Proficiency in Python is a prerequisite for this course. I recommend having taken CS 2021, but if you have other experience with Python you may be ready. Some Python topics that you should be familiar with are: data types and functions, control structures, using modules and packages, designing classes, and using libraries such as numpy and scipy.

Selected Previous Courses

In spring 2015 I co-taught Carnegie Mellon University's 11-411/611 Natural Language Processing with Chris Dyer and Alan Black.

The course included a semester-long project to build question answering and question generation systems that operate on Wikipedia articles. Students worked in small teams of three to five, and they competed to produce the best-performing systems. You can watch the final reports from the top three teams below.

I can provide a statement of teaching philosophy and teaching references upon request.