CSCI 4845/5845: Natural Language Processing
Saint Louis University · Fall 2026
| Meetings | Tue/Thu 11:00 AM – 12:15 PM · Busch Student Center 253 |
| Term | Aug 20 – Dec 3 (last class meeting; regular classes end Fri Dec 4) |
| Final exam slot | Tue Dec 8, 12:00–1:50 PM — all project presentations (no written final) |
| Instructor | Jin Zhao · jin.zhao@slu.edu · Ritter Hall 309 |
| Office hours | Tue/Wed/Thu 2:00–3:00 PM in Ritter Hall 309, and by appointment |
| Listings | CSCI 4845-01 (undergraduate, CRN 16538) · CSCI 5845-01 (graduate, CRN 16543) |
Course Description
Natural language processing (NLP) is the study of computational systems that understand and generate human language. This course is a comprehensive tour of the field across its three eras: classical NLP (n-gram language models, text classification, word vectors, sequence labeling, parsing), neural NLP (word embeddings, recurrent networks, attention, the Transformer), and the large language model era (pretraining, alignment and RLHF, prompting, efficient fine-tuning, retrieval-augmented generation, agents, evaluation, and safety). A central theme is that today's LLMs are the direct descendants of the simplest model we build in week two — the language model — and the course follows that single thread from counting bigrams to reasoning models.
The course is lecture-oriented, with four substantial programming assignments, an in-class midterm, and a final team project presented during the final-exam slot.
See the class schedule for the lecture-by-lecture calendar with readings and due dates.
Learning Goals
- Build and evaluate classical NLP models — n-gram language models, Naive Bayes and logistic regression classifiers, HMM taggers — from scratch, and explain when simple methods remain the right tool.
- Explain the mathematical machinery of neural sequence models: embeddings, recurrence, attention, and the Transformer architecture, including subword tokenization.
- Implement and train a small Transformer language model, and fine-tune pretrained models for downstream tasks.
- Explain how modern LLMs are built end to end: pretraining data and scaling laws, instruction tuning, RLHF/DPO, and inference-time techniques.
- Apply the modern LLM toolkit — prompting, parameter-efficient fine-tuning, retrieval-augmented generation, and tool use/agents — and justify which approach fits a given problem and budget.
- Design rigorous evaluations for NLP systems, and analyze systems for bias, hallucination, and safety failures.
- Conduct and communicate an original NLP project: formulate a question, run experiments, and present findings in a conference-style report and talk.
Grading
| Component | Weight | Notes |
|---|---|---|
| Homework (4 × 10%) | 40% | Programming + short written analysis (graduate extensions required in 5845) |
| Midterm exam | 20% | In class Thu Oct 15; covers Lectures 1–15 |
| Final project | 30% | Teams of 3–4; proposal 5%, presentation 10% (Tue Dec 8 exam slot), report 15% |
| Participation & quizzes | 10% | Short online reading quizzes (lowest 2 dropped) + in-class participation |
Homework specifications are on the assignments page; project tracks, timeline, and rubrics are on the project page. Full grading details, late policy, AI-tools policy, and university statements are in the syllabi: CSCI 4845 · CSCI 5845.
Materials
All required materials are free.
- [SLP3] Jurafsky & Martin, Speech and Language Processing, 3rd ed. draft — web.stanford.edu/~jurafsky/slp3
- [E] Eisenstein, Introduction to Natural Language Processing — free PDF
- Papers and posts for the LLM-era lectures — listed on the class schedule.
Compute: assignments are sized for Google Colab (free tier suffices). HW4 and some projects use LLM APIs; the course provides API credits and free local alternatives (Ollama, small open-weight models) for every required task.
Communication
Lecture slides, homework, quizzes, and announcements are posted on Canvas. For questions or concerns related to the course, email jin.zhao@slu.edu or come to office hours (Tue/Wed/Thu 2:00–3:00 PM, Ritter Hall 309).