~/fsgeek.ca

Design projects

Purpose

The design projects are completion-graded, with formative feedback. The goal is to repeatedly practice the design skills needed to succeed on the capstone.

Structure (pattern)

  1. Design: create a design for a distributed system problem framed by failures.
  2. Peer review: review multiple peer designs using a structured rubric.
  3. Implementation: implement one selected design (not necessarily your own).
  4. Reflection: write a short report on what implementation revealed that the design review missed.
  5. Reflection review: peer review reflections and identify standout examples.

Teams

  • Project 1: individual.
  • Project 2: optional groups up to 3.

DS Labs scaffold

Both design projects use the DS Labs framework as a scaffold and a test harness.