ITCS 6101/8101: Natural Language Processing
Spring 2026
Time and Location: Tue, Thu 5:30 – 6:45pm, Woodward 135
| Instructor & TA: |
|
Razvan Bunescu |
|
Tonmoy Hasan |
| Office: |
|
Woodward 410G |
|
Cone 164 |
| Office hours: |
|
Tue, Thu 4:00 – 5:00pm |
|
Mon, Wed 4:00 – 5:00pm |
| Email: |
|
rbunescu @ charlotte edu |
|
thasan1 @ charlotte edu |
Textbook (PDF available online):
Speech and Language Processing (3rd edition draft), by Daniel Juraksfy and James E. Martin; draft released on Jan 6, 2026.
Course description:
Natural Language Processing (NLP) is a branch of Artificial Intelligence whose focus is on the development of computer systems that can process, understand, or communicate in natural language. The course will cover foundational techniques for developing state-of-the-art NLP models, such as Large Language Models (LLMs), as well as methods for understanding their behavior and limitations. On the application side, the course will introduce agentic AI workflow patterns for LLM-based applications. Students will reinforce core concepts and skills through homework assignments, research paper presentations, and a final project.
Prerequisites:
Introduction to Machine Learning (ITCS 3156 or 5356). Students are expected to be comfortable with programming in Python, data structures and algorithms (ITSC 2214), and basic machine learning techniques. Relevant background material will be made available on this website throughout the course.
Lecture notes:
- Syllabus & Introduction
- Tokenization
- ML review on logistic regression
- Word embeddings
- Chapter 5 on vector semantics and embeddings.
- ML review on neural networks
- Language Modeling architectures
- RNNs and Attention
- Transformers and Self-Attention
- Pretraining, Supervised Fine-tuning, and Alignment
- LLM application development through APIs
- Advanced topics in NLP
Homework assignments1:
Final project:
Paper presentations:
- Paper title, authors, venue, year
- Paper title, authors, venue, year
- Paper title, authors, venue, year
- ...
Background reading materials:
Supplemental readings:
Tools and packages:
- Natural language processing:
- Machine learning: