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.

1. Summary of Requirements

Students must complete at least a total of 30 graduate credits and must maintain at least 2.7 overall GPA in order to be eligible for the MS degree in Computer Science.

  1. Natural Language Processing Learning track requires:

    - Breadth courses
    - Required Track courses (9pts)
    - Track Electives (6pts)
    - General Electives (3pts)

  2. 3 courses (9 points) are required for the track: COMS W4705 (NLP), COMS W4706 (Spoken Language Processing), and COMS E6998 (Advanced NLP Topics).

  3. 2 elective courses (6 points) selected from the list of section 4; at least one of these courses must be a 6000-level CS course.

  4. 1 general elective graduate CS course (3 points) at 4000 level or above.

Please use the Degree Progress Check to keep track of your requirements.

2. Breadth Requirement

Students are required to satisfy the Breadth Requirement by taking 1 course from Group 1, 1 course from Group 2, 1 course from Group 3, and 1 more course from any of the three groups. Track courses taken at Columbia can also satisfy the breadth requirement.

Group  Courses
Group 1 (Systems)

All CS 41xx courses except CS 416x and CS 417x
All CS 48xx courses, and CS 4340, 4444, and 4460

Group 2 (Theory)

All CS 42xx courses including CSOR W4231

Group 3 (AI and Apps)

All CS 47xx courses, and CS 416x and CS 417x


3. Required Track Courses

Students are required to complete the following three courses. Students who have taken equivalent courses in the past and received grades of at least a B may apply for waivers and take other CS courses instead.

Course ID


COMS W4705

Natural Language Processing

COMS W4706

Spoken Language Processing

COMS E6998

Topic courses that focus on NLP


4. Elective Track Courses

Students are required to complete two (2) courses out of the following list; at least one course must be a 6000-level CS course.
Since other departments vary their offerings considerably from year to year, it is possible to count such courses toward the MS degree; please propose courses you think might be suitable to the track advisor.

Course ID


COMS W4170

User Interface Design

COMS W4172

3D User Interfaces

COMS W4252

Introduction to Computational Learning Theory

COMS W4771

Machine Learning

COMS E6901

Projects in Computer Science

COMS E6998 

Search Engine Technology

COMS E6998 

Network Theory

COMS E6998

NLP for the Web
COMS E6998

Statistical Methods for NLP

COMS E6998

Machine Learning for NLP

COMS E6998

Adv. Topics in Machine Learning

COMS E6998

Fundamentals of Speaker Recognition

COMS E6998

Fundamentals of Speech Recognition
COMS E6998

Machine Translation

COMS E6998

Semantic Tech in IBM Watson

COMS E6998

Bayesian Analysis for NLP

COMS E6998

Comp Models of Social Meaning

COMS E6998

Digitally Mediated Storytelling

SIEO W4150

Probability and Statistics

ELEN E4810

Digital Signal Processing

ELEN E6829

Speech/Audio Processing-Recognition

PSYC G4232

Production and Perception of Language

PSYC G4275

Contemporary Topics in Language and Communication

PSYC G4205

Models of Cognition

PSYC G4470

Psychology and Neuropsychology of Language

PSYC G6006

Introduction to Statistical Modeling in Psychology


5. General Electives

Students are required to complete at least one Columbia graduate course, approved by the Track Advisor. Please complete a non-tech approval form, get your advisor's approval, and forward it to CS Student Services. At most 3 points overall of the 30 graduate points required for the MS degree may be non-CS/non-technical.

6. Track Planning

Please visit the Directory of Classes to get the updated course listings. Please also note that not all courses are offered every semester, or even every year. A few courses are offered only once every two or three years or even less frequently. For more information, please see the SEAS Bulletin CS course-offering schedule (This schedule can change due to unforeseeable circumstances; thus, it should only be used as a reference).

7. Contact

Please direct all questions concerning the NLP Track to Prof. .

8. Graduation

Candidates preparing for graduation should submit a completed application for degree to the Registrar's Office and submit a track graduation form to CS Student Services.

Last updated: 2/25/2014 (AI is no longer required course)