Skip to main content
NC State Home
Spring 2027

CSC 591 608 Natural Language Processing

3 Credit Hours

This course provides the essential foundation in natural language processing and its applications. This course combines the core ideas developed in linguistics and artificial intelligence to show how to understand language and work with it computationally. Lectures will provide the essential background on (1) historical approaches to language processing, (2) theories originating in linguistics and concerning, (3) representations prevalent in modern generative AI, and (4) how they come together in accommodating the syntax, semantics, and pragmatics of natural language. The course will highlight ethical considerations in AI and NLP in particular. A substantial component of this course is a semester-long project in which identify a challenging problem, plan out a solution using existing libraries, implement it, measure its performance, and describe results in writing and orally. This course is currently under review for conversion to a regular-numbered course.

Prerequisites

Graduate standing in Computer Science.

The course is self-contained. The main informal prerequisite is maturity in thinking about subtle concepts, such as might be gained through experience with conceptual modeling in databases or software.

Prior encounters with AI (knowledge representation and machine learning) or data science will help but aren’t necessary.

Course Objectives

This course provides the essential foundation in natural language processing based on core ideas developed in linguistics and in artificial intelligence, leading up to modern practice. It identifies the key concepts underlying NLP applications as well as the main NLP paradigms and techniques, with an emphasis on the paradigms, techniques, and challenges that remain relevant given the rise of generative AI and Large Language Models (LLMs).

Student Learning Outcomes

Upon completion of this course, students will be able to do the following.

  • Evaluate emerging NLP concepts and techniques with respect to key principles of human language and artificial intelligence.
  • Assess the capabilities and limitations of Large Language Models (LLMs) with respect to human language in general and in particular applications.
  • Develop software based on existing libraries for natural language processing and machine learning, including Large Language Models.
  • Identify and solve practical problems through the application of NLP technologies.

Course Requirements

ComponentWeight
Exams35%
Programming assignments15%
Homework5%
Project45%

Textbooks

None.

The following materials will be used in this course.

Readings and software

  • Required: Book. Dan Jurafsky and James H. Martin, Speech and Language Processing. We will follow the third edition of this book, which is not yet published but which is available for free download from the author’s website.
  • Required: Transparencies. Available on the course website. I will announce the availability of the final versions throughout the semester.
  • Required: Readings linked from the schedule page. Available openly, through the university library, or from the course website.
  • All necessary software will be available for use on NCSU laboratory computers or for free download for academic purposes.

Created: 10/05/2026.