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.