NLP Curriculum

Ready to become a banana slug?



Apply Here!


Applications for Fall 2022 Admission Consideration Open in October 2021

Application Deadline: February 15, 2022

Program of Study

Natural Language Processing is a rapidly growing field that provides core algorithms and methods for work in Artificial Intelligence and in Computer Science in general. The M.S. in Natural Language Processing curriculum is designed to provide the breadth and depth of knowledge needed for a successful career in Natural Language Processing. It emphasizes practical proficiency in applying the relevant skills through courses focusing on core algorithms in Natural Language Processing, machine learning, and data science and analytics. Electives offer students the opportunity to acquire more specialized knowledge in particular NLP application areas. The M.S.  is a one calendar-year program, beginning in the fall quarter.  The program includes a three quarter capstone project where students will get real-world experience working in small groups working on an industry-relevant challenging NLP problem.

Sample Course Schedule


  • NLP 201, Natural Language Processing I
  • NLP 220, Data Collection, Wrangling and Crowdsourcing
  • NLP 243, Machine Learning for NLP
  • NLP 280, Seminar


  • NLP 202, Natural Language Processing II
  • NLP 271A, Capstone I (Project Exploration)
  • NLP 280, Seminar
  • NLP 270, Linguistic Models of Syntax & Semantics for Computer Scientists


  • NLP 203, Natural Language Processing III
  • NLP 271B, Capstone II (Project Definition)
  • NLP 244, Advanced Machine Learning for Natural Language Processing


  • NLP 271C, Capstone III (Project Implementation)


Course offerings may vary from year to year.

Course Requirements

The current NLP degree requirements can be found in the UCSC Catalog.

The minimum unit requirement for the M.S. Degree in Natural Language Processing is 50 units.  Unit requirement breakdown:

  • 25 units - Core Courses
  • 10 units - Elective Track
  • 13 units - Capstone Project
  • 2 units - NLP Seminar

Core Courses

All students are required to enroll and pass (letter grade "B-" or better) the following six courses:

  • NLP 201, Natural Language Processing I (5 units)
  • NLP 202, Natural Language Processing II (5 units)
  • NLP 203, Natural Language Processing III (5 units)
  • NLP 220, Data Collection, Wrangling & Crowdsourcing (5 units)
  • NLP 243, Machine Learning for Natural Language Processing (5 units)
  • NLP 280, Seminar in NLP (2 units)

Elective Courses

All students are required to enroll and pass (letter grade "B-" or better) in a minimum of two of the following elective courses:

  • NLP 244, Advanced Machine Learning for Natural Language Processing (5 units)
  • NLP 245, Conversational Agents (5 units)
  • NLP 255, Topics in Applied Natural Language Processing (5 units)
  • NLP 267, Machine Translation (5 units)
  • NLP 270, Linguistic Models of Syntax & Semantics for Computer Scientists (5 units)
  • CSE 245 / LING 245 / CMPM 245, Computational Models of Discourse and Dialogue (5 units)
  • CSE 272, Information Retrieval (5 units)
  • CSE 290C, Advanced Topics in Machine Learning (5 units)
  • CSE 290K, Advanced Topics in Natural Language Processing (5 units)

Elective offerings may vary from year to year.

Capstone Project Courses

All students are required to enroll and pass (letter grade "B-" or better) the Capstone Project series:

  • NLP 271A, Capstone Project I (3 units, Winter quarter)
  • NLP 271B, Capstone Project II (5 units, Spring quarter)
  • NLP 271C, Capstone Project III (5 units, Summer quarter)
Capstone Requirement

The capstone requirement for the NLP M.S. degree is fulfilled through an application team project. Students are expected to work on their capstone requirement starting in the Winter Quarter, with refinements and final pitches in the Spring Quarter, and final execution of the project during Summer Session. Teams will be made of three to five students, who will work collaboratively on the project.

The teamwork will be spread over a 3-unit class in winter (NLP 271A), a 5-unit class in spring (NLP 271B) and a 5-unit class in summer (NLP 271C) to constitute the complete 13-unit capstone experience. 

In the Winter Quarter, teams will explore the NLP research literature and present multiple possible project proposals across a variety of NLP topics.  

In the Spring Quarter, teams will get matched to mentors from either industry or the UCSC NLP program faculty based on their interests. Mentors will meet with their teams at least once a week to evaluate progress and provide guidance. Each team will produce a 10-page written proposal, and orally present it to the NLP M.S. Industry Advisory Board. The proposal will detail the team membership, the project topic, the data sources, the high level design, and a milestone schedule. The proposal will need to be approved by the capstone coordinator (typically, the Executive Director of the program). 

In the Summer Session, teams will work full-time to complete the implementation of their proposal. At the end of Summer Session, each team will submit a 10-page written report and present their work at the annual UCSC NLP Capstone Workshop. Student evaluations will be based on the quality of the team project, individual class participation, feedback obtained from their self-review (in which students evaluate their own contributions) and peer evaluations (in which students evaluate the contributions of their teammates). 

All students will be required to either present a poster or oral presentation at the UCSC NLP Capstone Workshop, which will be an integral part of the capstone evaluation. The Capstone Workshop will be an annual event taking place at the end of each Summer Session to which program faculty, students, and members of the Industry Advisory Board will be encouraged to attend. The workshop will also serve as a general outreach to NLP scientists in local industry and government.

NLP Capstone Workshops

Each year, the NLP MS Program hosts a Capstone Workshop to showcase the projects NLP students complete as part of a team advised by faculty and industry mentors. Please select the links below to read project abstracts and view our students' presentations:

Optional Practical Training (OPT) for International Students

International students graduating from the NLP M.S. program who are in valid F-1 status are eligible for OPT. Graduates of the NLP M.S. program are also eligible for the OPT STEM Extension. The CIP code for NLP is 11.0102, which is the same as Artificial Intelligence, as listed on the DHS STEM Designated Degree Program List. OPT-related questions should be directed to the International Student and Scholar Services (ISSS) Office at