There will be four main programming assignments for this course, all using the Go programming language. These are based on assignments used in MIT’s distributed systems course (6.824).

In completing these assignments, you will become familiar with Go while building a fault-tolerant distributed key-value store. Some of the assignments build off of each other, thus it is critical that you begin them early, and have working versions of each by the deadlines. To facilitate this, we will make all assignments available to you immediately. If you find yourself struggling with any assignments, please consult Piazza and come to your TA’s office hours!

Our late assignment policy is no extensions for any reason except for documented medical conditions. A late submission gets a score of 0 (zero), so it’s always best to submit on time, even if the submission is imperfect.