Assignments
ASSIGNMENTS
There are four team-based projects, some basic homework assignments, mostly meant as reading enforcers, and a take-home final.
We will post all assignments in the Canvas’ site for the course.
PROJECTS
There will be four projects, including a MapReduce library and a replicated state machine protocol. Projects are to be done in teams of 2-3 students (1 is not allowed).
All projects will be done in Go, a language that was originally created within Google, but is now a fully open-source project. Go is garbage-collected and has built-in coroutines (called goroutines) and channels, making it highly suited to building distributed systems. Its standard library is already pretty comprehensive. For example, take a look at the net and rpc packages.