Please see the assignment descriptions below (from last year), to get a sense of how they will look like. Most programming assignments will take significantly longer than you anticipate. Points will be awarded for correct and faithful designs, complete implementation, adequate testing, and reports and documentation. Therefore, no starter-code or templates will be provided, to give students the maximum flexibility and freedom to explore the unconstrained design space. In most cases, the programming assignments are language agnostic (you can pick any reasonable programming language).Ī key learning objective of this course is to design, architect, and implement a distributed system from scratch, and to design useful test-cases for evaluating the implementation. The design oriented assignments will involve a large degree of programming and debugging. Students will implement various classic distributed algorithms (such as Map-Reduce, totally ordered multicast, logical clocks, various consistency models in a distributed key-value store, etc.). The assignments will be a mix of theory and distributed system design. High-level communication and publish-subscribeĬonsistency Models: Sequential Consistency Vector clock applications and Causal Orders
0 Comments
Leave a Reply. |