CS555: Distributed Systems

csu-logo
red-line
[Announcements] [Syllabus] [Grading] [Schedule] [Assignments] [Piazza]

[Home]

Assignments

All assignments are meant to be done individually. Each assignment will include a breakdown of points and also how much they account for your course grade. There are NO team projects. Assignments will specify the third-party libraries that you are allowed to use: nothing else can be used. All assignments require you to do socket programming. Scoring will be done based on a one-on-one interview session where you will demonstrate the required functionality and explain how you implemented certain portions of your program. These 30-minute interview slots will be made available just prior to submission deadline for individual assignments.

All assignments are due at 5:00 PM on the due date. There is a late penalty of 7.5% per-day for up to a maximum of 2 days. We will rely on an honor system: please do not make changes after this point. Submissions will include the source code and supporting documentation for how to execute the programs.






Assignment 1:

The objective of this assignment is to get you to be comfortable coding in a distributed setting where you need to manage the underlying communications between nodes. Upon completion of this assignment you will have a set of reusable classes that you will be able to draw upon. This assignment accounts for 10% of your course grade. Additional details can be found here.

Posted: 8/22/2017
Due: 9/6/2017







Assignment 2:

As part of this assignment you will be implementing a structured P2P system. Specifically, you will be implementing the Chord P2P network where individual peers have a 16-bit identifer, and thus can support up to 64K peers. This assignment will account for 20 points towards your cumulative course grade. Additional details can be found here.

Posted: 9/6/2017
Due: 9/27/2017









Assignment 3:

As part of this assignment you will be developing MapReduce programs that parse and process the Million Song dataset to support knowledge extraction over different features like songs genres, artists etc. You will be using Apache Hadoop (version 2.7.3) to implement this assignment. Instructions for accessing datasets and setting up Hadoop clusters are available on the course website. This assignment will account for 15 points towards your cumulative course grade. Additional details can be found here.


Other relevant documents:

Posted: 9/27/2017
Due: 10/18/2017







Assignment 4:

As part of this assignment we will be building a distributed, replicated file system (very similar to the Google File System) from commodity desktops. A given file will be split into chunks that will be distributed across a set of commodity desktops. During the creation of a file, it should be possible to specify a specific redundancy level. The file system needs to respond to node failures by making sure that a certain number of replicas for a chunk continues to be available. The design needs to incorporate support for random writes/deletes to these files in addition to appends. This assignment will account for 10 points towards your cumulative course grade.  Additional details can be found here.

Posted: 10/18/2017
Due: 11/08/2017











Term Project & Report

The objective of this assignment is for you to apply concepts that you have learned in class to an original problem that you have devised.  You are required to demonstrate that you are solving an important problem and there are restrictions on the types of projects that you can choose. This assignment accounts for 35% of your course grade. Additional details about the term project are available here.


Posted: 8/21/2017
Due Dates: There are multiple deliverables associated with the Term Project.

[TP-D0] Friday, September 15th 2017, @5:00 pm [Team composition]
[TP-D1] Friday, October 13th 2017, @ 5:00 pm [2-page Term Project Proposal & Presentation Slides]
[TP-D2] Wednesday November 29th, 2017 @ 5:00 pm [Software and Demo]
[TP-D3] Friday, December 1st, 2017 @ 5:00 pm [Report]
[TP-D4] Friday, December 1st, 2017 @ 5:00 pm [PowerPoint Presentation]






 

 

 

 

 

 

 

 

 

Department of Computer Science, Colorado State University,
Fort Collins, CO 80523 USA
© 2017 Colorado State University