## Homework

We'll have five homeworks this semester, including one short warmup homework to make sure we all have the tools working.

These homeworks will ask you to do things that we haven't covered during lecture. Be sure to start early and ask questions on Ed or at office hours if you're stumped—the homework is intended to teach you new things, not to trip you up or quiz you on the details of lectures.

Homeworks are submitted via GitHub Classroom—follow the instructions in each homework.

- Homework 0: Warmup

Due September 6, 6pm - Homework 1: Denotational Semantics and Rosette

Due September 22, 6pm - Homework 2: IMP and Abstract Interpretation

Due October 13, 6pm - Homework 3: Dafny and Lambda Calculus

Due November 10, 6pm - Homework 4: Rust and Type Inference

Due December 1, 6pm