Course Description
Autumn 2026: Wednesdays, 3:30–6:20 p.m., Hewlett Teaching Center 103, first class September 23. Enrollment and the waitlist run through ExploreCourses.
A project-based course on building AI products and agents end-to-end. Students build a real product over the quarter, justifying AI fit, navigating latency, quality, and cost trade-offs, and rigorously evaluating their own system. The course moves from an individual mechanics phase into a team build, ending in a Demo Day. The topic arc moves from building the right thing, to evaluating and improving it, to designing, stress-testing, and shipping.
A 3-unit course meeting once a week for 10 weeks; each session is roughly 1 hour of lecture and reading discussion plus 1 hour of lab (workshop, project work, or guest Q&A). Demo Day (Week 10) is an extended session. Plan for roughly nine hours per week including class time, in line with Stanford's three-hours-per-unit norm. Designed primarily for upper-division undergraduates and master's students, with target majors including MS&E, CS, Symbolic Systems, and EE; open to all Stanford students. Enrollment is capped at 12 teams of 4 students (48 students total).
Learning Goals
By the end of the course, students will be able to:
- Diagnose AI-fit and make AI-specific tradeoffs. Determine when AI is the right tool for a problem, vs. when it's a bad fit or overkill. Understand and optimize for the novel tradeoffs that AI introduces, like latency, quality, cost, non-determinism, etc.
- Evaluate AI products rigorously. Design eval strategies and name what they do not cover (e.g., recognizing when LLM-as-judge needs human validation, or when sim-user testing won't catch real-user failure modes).
- State what they are optimizing for. Translate a product goal into measurable success criteria (e.g., turning "help engineers write code faster" into suggestion acceptance rate, as GitHub Copilot does at roughly 30%).
- Account for failure. Identify how an AI product can fail at the system level and design safeguards (e.g., the Air Canada chatbot that hallucinated a refund policy the airline was then legally bound to honor).
Prerequisites & Onboarding
CS 106A or equivalent required; probability or statistics coursework (e.g., CS 109, EE 178/278, MS&E 120/220, MS&E 125, STATS 116, CME 106, MATH 151) recommended.
Enrolled students without the equivalent background complete four onboarding modules — how LLMs work, git and AI coding tools (Claude Code, Codex, or Antigravity), APIs and deployment, and a stats refresher — by the Week 3 session. Details are on the syllabus page.
Teaching Team
Prof. Madeleine Udell
Assistant Professor, Management Science & Engineering, Stanford University
Stanford website →FAQ
Do I need a team before class starts?
No. Team formation will happen early in the quarter rather than before class starts. We will help facilitate the process, so you do not need to have a group completely locked in beforehand.
Can my team choose its own project topic?
Yes. You will have a lot of flexibility to choose your own project topic. We will also have starter projects ready for teams that do not have an immediate idea.
Can MBA students enroll?
Definitely. The course is open to all Stanford students, and a background in statistics plus baseline coding experience is a great fit. We love vibecoding around here.
We plan to begin with open enrollment. If interest is overwhelming, we may use a brief application during the first week to manage enrollment.
Next: the week-by-week syllabus, or the project guide to see where the quarter ends up.