Calendar
Week 1
- Mon Jan 19
- No class, MLK day
- Wed Jan 21
- Introduction
- Mandatory reading: the syllabus
Week 2
- Mon Jan 26
LLM Code Generation: Modifying an Existing CodebaseClass is cancelled (snow day), in-class activity is homework instead. Check your email for activity instructions.- Mandatory reading: Willison’s 2025: The year in LLMs
- Before class on Jan 28
- Reflection essay on experience w/ LLM code generation due
- Wed Jan 28
- LLM Code Generation: Discussion
- No reading
Week 3
- Mon Feb 2
- Requirements Engineering: User Discovery Lab
- Mandatory reading: Synthetic Users: If, When, and How to Use AI-Generated “Research”
Background reading: The Mom Test by Rob Fitzpatrick. (Note: this is a book; it costs $10. You’re not required to read this, but you should be familiar with the ideas in it before class.)
Special topics reading: Analysis of LLMs vs Human Experts in Requirements Engineering
- Mon Feb 2
- Project team declaration due
- Wed Feb 4
- Requirements Engineering: Creating Effective User Stories
- Background reading: INVEST in Good Stories, and SMART Tasks
Special topics reading: When Prompts Go Wrong: Evaluating Code Model Robustness to Ambiguous, Contradictory, and Incomplete Task Descriptions
Week 4
- Sun Feb 8
- Project requirements doc due
- Mon Feb 9
- Requirements Engineering: Creating Dev Specs
- Mandatory reading: Development Spec Guidelines
Background reading: How To Be A Program Manager and Design Docs at Google
Special topics reading: Aligning Requirement for Large Language Model’s Code Generation
- Before class Feb 11
- Reflection essay on requirements gathering w/ LLMs due
- Wed Feb 11
- Requirements Engineering: Discussion
- No reading
Week 5
- Sun Feb 15
- Project specification doc due
- Mon Feb 16
- Frontend: Introduction
- Mandatory reading: Vibing a Non-Trivial Ghostty Feature
Special topics reading: Inside Out: Uncovering How Comment Internalization Steers LLMs for Better or Worse
- Wed Feb 18
- Frontend: Creating the UI Code
- Mandatory Reading: How AI assistance impacts the formation of coding skills (this isn’t directly related to the lecture content, but I think everyone should read it)
Week 6
- Mon Feb 23
Frontend: Creating UI BehaviorsClass cancelled (snow). In-class activity instead.- Mandatory reading: Good Vibrations? A Qualitative Study of Co-Creation, Communication, Flow, and Trust in Vibe Coding
- Before class on Feb 25
- Reflection essay on LLMs for frontend dev due
- Wed Feb 25
Frontend: DiscussionClass cancelled (snow). Remote demos instead.- No reading
Week 7
- Sun Mar 1
- Project frontend code initial submission due
- Mon Mar 2
- Wed Mar 4
Week 8
- Mon Mar 9
- Before class on Mar 11
- Reflection essay on LLMs for backend dev due
- Wed Mar 11
- Backend: Discussion
- No reading
- Mar 14 to Mar 22
- Spring Break, no classes
Week 9
- Sun Mar 22
- Project backend code initial submission due
- Mon Mar 23
- Wed Mar 25
- Testing w/ LLMs: TDD
- Background reading: The Art of Agile Development: Test-Driven Development
Special topic reading: TDFlow: Agentic Workflows for Test Driven Development
Week 10
- Mon Mar 30
- Testing w/ LLMs: Evaluating Test Quality
- Background reading: Mutation Testing
Special topic reading: E-Test: E’er-Improving Test Suites
- Before class on Apr 1
- Reflection essay on LLMs for testing due
- Wed Apr 1
- Testing w/ LLMs: Discussion
- No reading
Week 11
- Sun Apr 5
- Project synthetic tests submission due
- Mon Apr 6
- Deployment: Intro
- Mandatory reading: Amplify Tutorial
- Wed Apr 8
- Deployment: Backend and CD
- Mandatory reading: API Gateway Tutorial
Week 12
- Mon Apr 13
- Deployment: Monitoring
- Background reading: Ewaschuk’s Monitoring Distributed Systems
- Before class on Apr 15
- Reflection essay on deployment due
- Wed Apr 15
- Deployment: Discussion
- No reading
Week 13
- Sun Apr 19
- Project deployment due
- Mon Apr 20
- Static analysis + LLMs: Intro
- Mandatory reading: Why AI is pushing developers toward typed languages
Background reading: Thomson’s Static Analysis: An Introduction
Special topics reading: PredicateFix: Repairing Static Analysis Alerts with Bridging Predicates
- Wed Apr 22
- Static analysis + LLMs: Discussion
- Special topics reading: LLM-Based Repair of Static Nullability Errors
Week 14
- Mon Apr 27
- Guest Lecture (Michael Chong): Evaluating the Quality of LLM-Generated Code
- Mandatory Reading: Towards Understanding the Characteristics of Code Generation Errors Made by Large Language Models
- Before class on Apr 29
- Reflection essay on special topic due (graduate students only)
- Wed Apr 29
- Special topics discussion + course wrapup
- No reading
Week 15
- Mon May 4
- Project presentations
- No reading
- Mon May 4
- Project final submission + postmortem due
- Wed May 6
- Project presentations (note: this class day is a snow day makeup)
- No reading