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.


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 track elective courses (6 points); 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 Checklist to keep track of your requirements.


Visit the breadth requirement page for more information.


Students are required to complete the following 3 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 (or an approved substitute) Spoken Language Processing (approved substitute: COMS E6998 Fundamentals of Speech Recognition; Spring 2017 approved substitute: COMS E6998.004 Computational Models of Speech and Language)
COMS E6998 One additional topics course that focuses on NLP


Students are required to complete 2 courses out of the following list; at least 1 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 W4701 Artificial Intelligence
COMS W4771 or W4721* Machine Learning or Machine Learning for Data Science
COMS W4772 Advanced Machine Learning
COMS 4995 Visit the topics courses page to see which COMS 4995 courses apply as electives for this track.
COMS E6901 Projects in Computer Science (Advisor approval required)
COMS E6998  Visit the topics courses page to see which COMS 6998 courses apply as electives for this track.
SIEO W4150** Probability and Statistics
ECBM E6040 Neural Networks and Deep Learning
EECS E6894 Deep Learning for Computer Vision and Natural Language Processing
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

* Due to significant overlap, students can receive credits for only one of these courses (either COMS W4771 Machine Learning or COMS W4721 Machine Learning for Data Science).
** STAT 4001 taken Spring 2018 or prior may count as a substitute for Probability and Statistics/Advanced Data Analysis


Students are required to complete at least one Columbia graduate course, approved by the Track Advisor. Please complete a non-track 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-track.

*Due to a significant overlap in course material, MS students not in the Machine Learning track can only take 1 of the following courses – COMS 4771, COMS 4721, ELEN 4903, IEOR 4525, STAT 4240, STAT 4400/4241/5241 – as part of their degree requirements.

**Known non-track CS course**

CSOR E4995 Topics in Computer Science and IEOR – Financial Software Systems


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.


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


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: 12/5/2016