Natural Language Processing

With the proliferation of language technologies in use, from smartphones in our pockets to analytic and predictive algorithms in use by individual, institution, private sector, and state actors, it is critical that students in computer science be familiar with the purposes for which linguistic data is used, and the algorithm and techniques used to process linguistic data computationally. This course blends computer science and linguistics to teach students the foundational and cutting-edge techniques in NLP, their various use cases, achievements and pitfalls, and the relationship between language processing techniques and methods within other subdisciplines within machine learning, artificial intelligence, and data science. 

In this course, students will learn to:

  1. identify ethical and societal issues present in NLP use cases.
  2. define NLP use cases and commonly-used methods;
  3. identify useful NLP techniques based on data and task;
  4. describe the relationship between raw data, annotated data, and NLP tasks;
  5. design, implement, and evaluate experiments in NLP use cases;
  6. critically read and discuss NLP literature;
  7. connect achievements and failures in NLP to issues in data and algorithmic implementation;

2025 Fall Semester Details

Instructor(s)

Instructor

Nikhil Krishnaswamy

Office

CSB 362

Email

nkrishna@colostate.edu

Office Hours

T 15:30-16:30, Th 15:30-16:30

Class Schedule

Section

Schedule

Location

Instructor

001

MW 13:00 – 14:15

CSB 130

Krishnaswamy

801

MW 13:00 – 14:15

Zoom (link in Canvas)

Krishnaswamy

TA Information

Name

Role

Office Hours

Carine Graff

TA

M 09:00-10:00, 15:00-16:00 (CSB 120, or contact on Teams for Online)