Assignments

The course includes three individual programming labs, two paper reviews, and a final project. Programming labs account for 45% of the final grade, paper reviews for 10%, and the final project for 45%.

Assignment instructions and submission links are posted below as each assignment is released.

Programming labs

Assignment Release Due Materials
SMT Solver Sep 16, 2026 Sep 28, 2026 (EOD) Link (See Github template for details)
Dafny Replication Sep 28, 2026 Oct 11, 2026 (EOD) Link

General expectations

Programming labs are individual work unless an assignment explicitly states otherwise. You may discuss high-level ideas with classmates, but submitted work must be your own and you must understand all parts of it.

The five shared late days and the policy on AI-assisted tools are described on the Policies page.

Paper reviews

Each paper review is worth 5% of the final grade. Read the Paper Review Guide for the required format, grading scale, and submission policies. Submit your review as submission.pdf through Classroom50; other documents are welcome in your repository as long as the final PDF is easy to find.

Review Release Due Materials
Paper Review 1: Learning Invariants Sep 30, 2026 Oct 7, 2026, 11:59 p.m. MT Instructions and paper choices · Classroom50 submission

Final project

The final project is worth 45% of the final grade. Read the Final Project Guide for the expected scope, team requirements, proposal, presentation, final report, and assessment criteria. Project presentations will take place on December 2 and December 7.