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
- Backend: Coding Lab
- Special topics reading: Smoke and Mirrors: Jailbreaking LLM-based Code Generation via Implicit Malicious Prompts
Week 8
- Mon Mar 9
- Backend: Understanding Backends
- Special topics reading: From Code to Correctness: Closing the Last Mile of Code Generation with Hierarchical Debugging
- Before class on Mar 11
- Reflection essay on LLMs for backend dev due
- Wed Mar 11
- Backend: Discussion
- No reading
- Fri Mar 13
- Project backend code initial submission due
- Mar 14 to Mar 22
- Spring Break, no classes
Week 9
- Mon Mar 23
- Testing w/ LLMs: Intro
- Mandatory reading: Software Testing with Large Language Models: An Interview Study with Practitioners
Special topic reading: An LLM Agentic Approach for Legal-Critical Software: A Case Study for Tax Prep Software
- Wed Mar 25
- Testing w/ LLMs: TDD and CI
- Background reading: The Art of Agile Development: Test-Driven Development
Special topic reading: E-Test: E’er-Improving Test Suites
Week 10
- Mon Mar 30
- Testing w/ LLMs: Mutation Testing
- Background reading: Mutation Testing
- 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
- Reading: TBD
- Wed Apr 8
- Deployment: Backend
- Reading: TBD
Week 12
- Mon Apr 13
- Deployment: CD
- Reading: TBD
- 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: TBD
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
- Slack or class’ choice
- Reading: TBD
- 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