CSCI 4845/5845: Natural Language Processing

Saint Louis University · Fall 2026

MeetingsTue/Thu 11:00 AM – 12:15 PM · Busch Student Center 253
TermAug 20 – Dec 3 (last class meeting; regular classes end Fri Dec 4)
Final exam slotTue Dec 8, 12:00–1:50 PM — all project presentations (no written final)
InstructorJin Zhao · jin.zhao@slu.edu · Ritter Hall 309
Office hoursTue/Wed/Thu 2:00–3:00 PM in Ritter Hall 309, and by appointment
ListingsCSCI 4845-01 (undergraduate, CRN 16538) · CSCI 5845-01 (graduate, CRN 16543)
Which syllabus applies to me? The two listings share lectures, materials, and the midterm, but requirements differ in the homework, reading quizzes, and final project. Undergraduates follow the CSCI 4845 syllabus; graduate students follow the CSCI 5845 syllabus.

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

  1. 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.
  2. Explain the mathematical machinery of neural sequence models: embeddings, recurrence, attention, and the Transformer architecture, including subword tokenization.
  3. Implement and train a small Transformer language model, and fine-tune pretrained models for downstream tasks.
  4. Explain how modern LLMs are built end to end: pretraining data and scaling laws, instruction tuning, RLHF/DPO, and inference-time techniques.
  5. 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.
  6. Design rigorous evaluations for NLP systems, and analyze systems for bias, hallucination, and safety failures.
  7. Conduct and communicate an original NLP project: formulate a question, run experiments, and present findings in a conference-style report and talk.

Grading

ComponentWeightNotes
Homework (4 × 10%)40%Programming + short written analysis (graduate extensions required in 5845)
Midterm exam20%In class Thu Oct 15; covers Lectures 1–15
Final project30%Teams of 3–4; proposal 5%, presentation 10% (Tue Dec 8 exam slot), report 15%
Participation & quizzes10%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.

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).