- Lab 1: MapReduce
- Part I: Map/Reduce input and output
- Part II: Single-worker word count
- Part III: Distributing MapReduce tasks
- Part IV: Handling worker failures
- Inverted index generation (optional)
- Lab 2: Raft
- Lab 3: Fault-tolerant Key/Value Service
- Lab 4: Sharded Key/Value Service