Class Information

Time: Tuesdays, 5:15 PM - 6:45 PM

Location: Towne 337

Semester: Spring 2026

Description

Welcome to CIS-1990! In this course, you will learn how to practically instantiate and apply LLMs by designing intelligent, interactive agents. Moving beyond basic prompting, this course explores the full lifecycle of building LLM-powered applications, from reasoning and planning to extending capabilities with memory, retrieval, and tool integration. Through hands-on projects, you will learn techniques such as Retrieval-Augmented Generation (RAG) and multi-step agent design, while also addressing reliability and safety by diagnosing failure modes, implementing guardrails, and conducting systematic evaluations. The course culminates in a final project where you build and present your own LLM agent. Python proficiency is required, but no prior machine learning background is assumed.

Course Schedule

Week Date Lecture Topic Homework
Module 1: Interacting with LLMs
1 Jan 20 What is an Agent? A brief history of language modeling [slides] [HW 1 Released]
2 Jan 27 Snow Day! No Class
3 Feb 3 LLM architectures and training [slides] HW 1 Due
[HW 2 Released]
4 Feb 10 How does an LLM generate text? [slides] [decoding.py] [answers]
5 Feb 17 Prompting, Reasoning, & Memory [slides] HW 2 Due
[HW 3 Released]
Module 2: Building an LLM Agent
6 Feb 24 Post-training & Retrieval [slides] [RAG.py] [answers]
7 Mar 3 Prompt chaining, planning, and routing [slides] [planning.py] HW 3 Due
Final Project Released
- Mar 10 Spring Break - No Class
8 Mar 17 Calling external tools & prompting frameworks
9 Mar 24 Exception handling, guardrails, and safety patterns Project Proposal Due
10 Mar 31 Vibe coding & agent evaluation
Module 3: LLM Agents in the real world
11 Apr 7 Guest Lectures: Open problems with LLM agents
12 Apr 14 Guest Lectures: Deploying LLM agents in industry
13 Apr 21 Final Project presentations - Part 1 Final Project Due
14 Apr 28 Final Project presentations - Part 2

Assignments & Grading

Assignments are due at 11:59 PM Eastern Time. Every student has 3 late days that may be used at their discretion across the semester; beyond this allowance, late work will not be accepted. Grades will be 35% homeworks, 45% final project, and 20% participation. Participation is based on attendance + contribution during class activities. You are allowed to miss class 2 times without penalty (otherwise you need to email me).

Course Staff

Shreya Havaldar
Instructor
shreyah at seas.upenn.edu
OH: Fri 1-2pm in AGH 300E
Shreya is a 5th year PhD researching sociotechnical LLM alignment. She likes yoga, baking, NYT's connections, and her dog Plato (pictured above). She dislikes rate limits and celery.
Davis Brown
TA
davisbr at seas.upenn.edu
OH: Wed 2-3pm in AGH 300E
Davis is a 2nd year PhD working on AI safety & security. He likes running, surfing, and Robert Caro biographies. He dislikes added sugar.
Vitoria Guardieiro
TA
vitoriag at seas.upenn.edu
OH: Mon 3-4pm in AGH 300E
Vitoria is a 2nd year PhD researching trustworthy ML. She likes cross-stitching, reading sci-fi, and coffee snobbery. She dislikes how much colder the east coast is than Brazil.