Assignments

  • The course focuses in teaching the distributed systems concepts through project assignments. The lectures prepare the students to execute the projects.
  • All assignments are developed and verified over a 2 week period.
    • By end of week 1 (Monday mid night) the students submit code for review.
    • On following Tuesday morning each student will be assigned to peer review to other assignments.
    • Each students assignment will be peer-reviewed by 2 other students.
    • Associate Instructors will then grade the assignments after the peer-review deadline.

Assignment 1

  • Assigned on August 22nd
  • Code submission due August 28th
  • Peer reviews due September 4th

  • [Assignment 1 Overview]
  • Using the programming language of your choice, develop 3 gateway services and a simple Web user interface: a registry service, an orchestrator service, an enactment service, and an API server.
  • Every student must do this individually

Assignment 2

  • Assigned on September 5th
  • Code submission due September 12th
  • Peer reviews due September 19th

  • Using Docker, RabbitMQ, and Apache Jenkins, deploy the Microservice system from Assignment on Jetstream

Assignment 3

  • Assigned on September 19th
  • Code submission due September 25th
  • Peer reviews due October 2nd

  • Using Assignment 2, containerize the microservices and use Apache Thrift as a serializable message format.

Midterm Presentations

  • October 10th
  • October 12th

  • Using Assignment 3 and Apache Mesos, develop a load balancing approach that detects and handles faults on Jetstream

Assignment 4

  • Assigned on October 3rd
  • Code submission due October 9th
  • Peer reviews due October 16th

Assignment 5

  • Assigned on October 17th
  • Code submission due October 23rd
  • Peer reviews due October 30th

  • Reconstruct Assignment 4 using Apache Helix

Assignment 6

  • Assigned on October 31st
  • Code submission due November 6th
  • Peer reviews due November 13th

Assignment 7

  • Assigned on November 14th
  • Code submission due November 27th
  • Peer reviews due December 4th

Final Presentations

  • December 5th
  • December 7th