Schedule

Week Due Tuesday Thursday
1/27 Assignment 0 - Installations Programming in Dafny Specifications in Dafny
2/03 Loop Invariants Hoare Logic
2/10 Assignment 1 - Dafny Verification Hoare Logic (cont.) From OCaml to Haskell
2/17 Higher Order Trees and Folds
2/24 Assignment 2 - Haskell Basics Typeclasses, Pretty Printing QuickCheck
3/03 Parsers QuickCheck RoundTrip Demo
3/10 Assignment 3 - MiniDafny Printing Midterm Review Midterm 1
3/17 Spring Break Spring Break
3/24 Assignment 4 - MiniDafny Parsing Monads State Monad
3/31 Interp Demo Monad Transformers
4/07 Assignment 5 - MiniDafny Interpreter Parse/Eval Demo Recursion Schemes
4/14 Dynamic Programming GADTs
4/21 Assignment 6 - MiniDafny Verification Conditions Agda Basics Z3
4/28 Midterm 2 Lenses
5/05 Final Project Build a Game - Snake! TBD
5/12 Final Project Late Deadline