Natural Language Processing M.S.


Natural Language Processing (NLP) focuses on the development of computer programs that can understand, generate, and learn from human language for useful purposes. It provides key capabilities for applications in many areas of artificial intelligence, and provides algorithms, methods and tools for analyzing both text or speech for such applications as conversational agents, machine translation, question answering, knowledge discovery from text, and sentiment analysis. The UC Santa Cruz professional Master of Science in Natural Language Processing program provides both depth and breadth in core algorithms and methods for NLP, and integrates foundational skills of data science and core aspects of linguistic theory in order to prepare program graduates to work in the natural language processing field in industry, governmental agencies or nonprofit organizations. The degree is offered through the UCSC campus location in Silicon Valley, enabling connection and collaboration with local industry and a focus on career development. Students are expected to complete coursework in four academic quarters, without leaves of absence.

Course Requirements

The minimum credit requirement for the M.S. Degree in Natural Language Processing is 50 credits. All courses must be taken for a letter grade with the exception of seminar courses and up to 10 credits of the student’s choice.

Core Courses

All students are required to take the following five core courses (25 credits):

NLP 201Natural Language Processing I


NLP 202Natural Language Processing II


NLP 203Natural Language Processing III


NLP 220Data Collection, Wrangling and Crowdsourcing


NLP 243Machine Learning for Natural Language Processing



In addition, students are required to take two elective courses from the list below (10 credits):

NLP 244Advanced Machine Learning for Natural Language Processing


NLP 245Conversational Agents


NLP 267Machine Translation


NLP 270Linguistic Models of Syntax and Semantics for Computer Scientists


NLP 255Topics in Applied Natural Language Processing


CSE 245
/LING 245/CMPM 245
Computational Models of Discourse and Dialogue


CSE 272Information Retrieval


CSE 290CAdvanced Topics in Machine Learning


CSE 290KAdvanced Topics in Natural Language Processing



Students are encouraged to take the NLP seminar each time it is offered, however a maximum of 2 credits of NLP 280 can be counted toward the 50 credits required for the degree.

All students are required to take the following seminar course at least once (2 credits):

NLP 280Seminar in Natural Language Processing


Capstone Courses

NLP M.S. students are required to take all three courses in the following capstone series (13 credits):

NLP 271ACapstone I: Natural Language Processing


NLP 271BCapstone II: Natural Language Processing


NLP 271CCapstone III: Natural Language Processing


Transfer Credit

The NLP M.S. program does not accept transfer credit or course substitutions from other institutions. Course substitutions for elective courses taken at UCSC will be considered by petition.

Capstone Requirements

The capstone requirement for the M.S. Degree is fulfilled through an application team project spanning three quarters. Students are expected to form teams and work on their proposals for a capstone project starting in the winter quarter, with refinements, final pitches and initial development during the spring quarter, and completion of the project during the summer. Teams will be made of three to five students, who will work collaboratively on the project. 

The teamwork will be spread over a 3-credit class in winter (NLP 271A), a 5-credit class in spring (NLP 271B) and a 5-credit class in summer (NLP 271C) to constitute the complete 13-credit capstone experience. Teams will need to do oral presentations of multiple possible project proposals during the winter quarter. Then after feedback and refinement, these will result in 5-to-10-page written proposals that will be orally presented early in the spring quarter. The proposal will detail the team membership, pitch the topic of the project, and detail the sources of data to be used, which will need to be approved by the capstone coordinator (typically, the executive director of the program). Each team will be supervised by the executive director of the NLP master's program, who will meet with the team at least once a week to provide guidance and evaluate progress. Teams may also have a faculty mentor from among the program faculty and/or an industry mentor.

The evaluation will assess the team’s final product, their group process (e.g., the ability to meet deadlines, generate a range of ideas, listen respectfully to disparate perspectives, distribute work fairly, resolve differences, and communicate effectively), and their individual contributions to the final product. Product evaluation will be based on a final written assessment by the faculty or industrial mentor based on the final report and presentation to be presented at the annual Natural Language Processing Fair (see below). Group process evaluation will be based on written team evaluations (in which each member evaluates the dynamics of the group as a whole) and written evaluations by the mentor produced on weeks 3, 7, and 10 of the summer quarter. Individual evaluations will be based on peer reviews (each team member evaluates the contributions of his/her teammates), self-evaluations (each team member documents and evaluates his own contributions to the team), and an individual 3-page report written by each team member.

All students will be required to either present a poster or oral presentation at the Natural Language Processing Fair, which will be an integral part of the capstone evaluation. The Natural Language Processing Fair will be an annual one-day event taking place at the end of each summer term, which program faculty, students, mentors, and members of the Industry Advisory Board will attend. The fair will also serve as a general outreach to NLP scientists in local industry and government.

Review of Progress

Normative time for completion of the NLP M.S. program is one calendar year (fall, winter, spring, and summer terms). Students are expected to maintain full-time enrollment for the duration of the program and complete all degree requirements within this time frame. Full time enrollment for summer session requires a minimum of 5 credits. All courses, with the exception of the NLP 280 seminar, are offered once per year. If a student fails a core course, they will be required to retake and pass that course the following year when it is offered. If a student fails an elective course, they may make up those credits by passing an additional elective course in a subsequent quarter. Students receiving two or more unsatisfactory grades (U or letter grade below B-) are not making adequate progress and will be recommended for academic probation for up to three quarters of registered enrollment. Should a student fail a course while on academic probation, the department may request the graduate dean to dismiss the student from the graduate program. If after being removed from probation, the student again fails a School of Engineering course, he or she will return immediately to academic probation. Taking a leave of absence does not count as enrollment. Students who have not identified and joined a capstone project team by the end of winter quarter are also considered to not be making adequate progress and will be recommended for academic probation.

Students not making adequate progress toward completion of degree requirements (see the Graduate Student Handbook for policy on satisfactory academic progress) may be recommended for academic probation. Students who violate the terms of their academic probation are subject to dismissal from the program.

Applying for Graduation

All candidates for a degree must submit an Application for the Master's Degree to the Graduate Advising Office by the date stated in the Academic and Administrative Calendar for the quarter you wish to receive the degree. Failure to declare candidacy by the deadline means that you cannot be considered a candidate until the next term. For more information about applying for graduation, visit the Baskin School of Engineering Graduate Studies website