The Natural Language Processing Track


The Natural Language Processing (NLP) track is intended for students who wish to gain expertise in NLP technologies and applications. NLP technologies are of central importance in automating the analysis of text and speech databases and in enabling man-machine interactions through natural language. This track will help you develop leading edge knowledge of these technologies.


Track Advisor


Prof. Julia Hirschberg is the advisor for Masters students following this track. E-mail: julia@cs.columbia.edu.

Overall Requirements

Students must complete at least a total of 30 graduate credits.

1. Fulfill the 12-credit core breadth requirement; the core course COMS W4701 is a prerequisite for this track.

2. Three courses (9 credits) are required by the track: COMS W4705, COMS W4706, and COMS E6998.

3. Two elective courses (6 credits) selected from the Electives list below; at least one of these courses must be a 6000-level CS course.

4. One general elective graduate CS course (3 credits) at the 4000-level or above

5. Students using Special Considerations to credit previous courses in fulfilling core or track requirements may complete the 30 graduate credits by expanding their electives beyond the base track requirements above.


Core Breadth Requirement:

Students must complete at least four Core courses out of the following six:

COMS W4115: Programming Languages and Translators

COMS W4118: Operating Systems

COMS W4156: Advanced Software Engineering

CSOR W4231: Analysis of Algorithms

COMS W4701: Artificial Intelligence

CSEE W4824: Computer Architecture


Candidates must complete the core course COMS W4701 or equivalent course, to develop a fundamental understanding of AI.


Required Track Courses

Candidates are required to complete the following three courses:

COMS W4705: Natural Language Processing

COMS W4706: Spoken Language Processing

COMS E6998: Advanced NLP Topics

Students who have completed equivalent courses with grades of at least 3.0 may apply these courses to satisfy these requirements and devote more credits to pursue elective courses.


Elective Track Courses

Candidates are required to complete two (2) courses from the following list; at least one course must be a 6000-level CS course.

COMS W4170: User Interface Design

COMS W4172: 3D User Interfaces

COMS W4771: Machine Learning

COMS W4252: Computational Learning Theory

COMS E6772: Advanced Machine Learning

COMS E6901: Projects in Computer Science

SIEO W4150: Introduction to Probability and Statistics

ELEN E4810: Digital Signal Processing

ELEN E6820: Speech/Audio Processing and Recognition


General Electives

Candidates are required to complete at least one Columbia graduate course, approved by your Advisor.

Note: The list of electives may be updated to reflect changes in the schedule of course offerings.