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, routing, and planning [slides] [planning.py] HW 3 Due
- Mar 10 Spring Break - No Class
8 Mar 17 Tool Calling, Frameworks, & MCP [slides] [web_search.py] [Final Project Proposal]
9 Mar 24 AI safety [slides] Project Proposal Due
[Final Project]
10 Mar 31 Vibe coding & agent evaluation [slides]
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 Office Hours: Final Project Q&A (attendance optional)
14 Apr 28 Final Project Presentations Final Project Due

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.