Schedule
CARS runs on a predictable weekly rhythm. Lecture meets every
Tuesday evening. One deliverable is due every Friday at 5:00 PM.
Odd weeks have a reading reflection; even weeks have a coding
assignment. The last two weeks are for the mini-project. Each
lecture covers what you need for that week's work, so everything
stays self-contained.
Week 1: SAT: Foundations
Mar 30 – Apr 5
Tuesday, Mar 31
- Practice: Solver demos: verify, debug, synthesize
- Theory: Propositional logic, normal forms, and DPLL
- Studio: Setup clinic, first exercises, and logistics
Due: Friday, April 3 at 5:00 PM | 50 points
Bibliography
Office Hours
- Tue 5:30-6:30 PM, CSE2 201 (Zachary Tatlock)
- Thu 5:30-6:30 PM, Zoom (Glenn Sun)
- Sat 5:30-6:30 PM, Zoom (Audrey Seo)
Week 2: SAT: Solving and Applications
Apr 6 – Apr 12
Tuesday, Apr 7
- Practice: Larger SAT apps: encoding quality, scalability, solver sympathy
- Theory: CDCL deep dive: conflict analysis, non-chronological backtracking, solver behavior intuition
- Studio: Reading discussion
Due: Friday, April 10 at 5:00 PM | 150 points
Office Hours
- Tue 5:30-6:30 PM, CSE2 201 (Zachary Tatlock)
- Thu 5:30-6:30 PM, Zoom (Audrey Seo)
- Sat 5:30-6:30 PM, Zoom (Glenn Sun)
Week 3: Solvers: Theories and Equality
Apr 13 – Apr 19
Tuesday, Apr 14
- Practice: Beyond booleans, theories in action
- Theory: EUF and congruence closure
- Studio: Equality and theories in Z3
Due: Friday, April 17 at 5:00 PM | 50 points
Bibliography
Office Hours
- Tue 5:30-6:30 PM, CSE2 201 (Zachary Tatlock)
- Thu 5:30-6:30 PM, Zoom (Glenn Sun)
- Sat 5:30-6:30 PM, Zoom (Audrey Seo)
Week 4: Solvers: Arithmetic, Arrays, and Bitvectors
Apr 20 – Apr 26
Tuesday, Apr 21
- Practice: Four theory solvers, four engineering problems
- Theory: Inside LRA, LIA, bitvectors, and arrays
- Studio: Reading discussion
Due: Friday, April 24 at 5:00 PM | 150 points
Office Hours
- Tue 5:30-6:30 PM, CSE2 201 (Zachary Tatlock)
- Thu 5:30-6:30 PM, Zoom (Audrey Seo)
- Sat 5:30-6:30 PM, Zoom (Glenn Sun)
Week 5: SMT: Foundations
Apr 27 – May 3
Tuesday, Apr 28
- Practice: Why theories must cooperate: three acts on mixed-theory formulas
- Theory: First-order logic + Nelson-Oppen for convex theories
- Studio: FOL evaluator, mixed-theory predict-then-check, purification
Due: Friday, May 1 at 5:00 PM | 50 points
Office Hours
- Tue 5:30-6:30 PM, CSE2 201 (Zachary Tatlock)
- Thu 5:30-6:30 PM, Zoom (Glenn Sun)
- Sat 5:30-6:30 PM, Zoom (Audrey Seo)
Week 6: SMT: Quantifiers and DPLL(T)
May 4 – May 10
Tuesday, May 5
- Practice: ForAll on a queue library and pitfalls
- Theory: DPLL(T): offline, online, and Delayed Theory Combination
- Studio: Reading discussion: limits of formal methods
Due: Friday, May 8 at 5:00 PM | 150 points
Office Hours
- Tue 5:30-6:30 PM, CSE2 201 (Zachary Tatlock)
- Thu 5:30-6:30 PM, Zoom (Audrey Seo)
- Sat 5:30-6:30 PM, Zoom (Glenn Sun)
Week 7: Verification: Symbolic Execution
May 11 – May 17
Tuesday, May 12
- Practice: Building an SE engine and finding bugs
- Theory: Path conditions and the strongest postcondition
- Studio: Hand-tracing SE and revisiting bvudiv2
Due: Friday, May 15 at 5:00 PM | 50 points
Bibliography
Office Hours
- Tue 5:30-6:30 PM, CSE2 201 (Zachary Tatlock)
- Thu 5:30-6:30 PM, Zoom (Glenn Sun)
- Sat 5:30-6:30 PM, Zoom (Audrey Seo)
Week 8: Verification: Hoare Logic and WP
May 18 – May 24
Tuesday, May 19
- Practice: Building a WP-based verifier
- Theory: WP rules, soundness, and the SP/WP duality
- Studio: AI and formal methods
Due: Friday, May 22 at 5:00 PM | 150 points
Office Hours
- Tue 5:30-6:30 PM, CSE2 201 (Zachary Tatlock)
- Thu 5:30-6:30 PM, Zoom (Audrey Seo)
- Sat 5:30-6:30 PM, Zoom (Glenn Sun)
Week 9: Mini-Project: Milestone
May 25 – May 31
Tuesday, May 26
- Practice: PEC: a solver-aided tool case study
- Theory: Three solver-aided paradigms
- Studio: Design-review clinic
Due: Friday, May 29 at 5:00 PM | 50 points
Office Hours
- Tue 5:30-6:30 PM, CSE2 201 (Zachary Tatlock)
- Thu 5:30-6:30 PM, Zoom (Glenn Sun)
- Sat 5:30-6:30 PM, Zoom (Audrey Seo)