Milestone 1


This milestone has to be completed individually, unlike subsequent milestones, which are completed as a team.

The objectives of this milestone are to familiarize yourself with the skeleton code of the storage server provided and with the submission instructions. To facilitate these tasks, a few simple extensions have to be designed and implemented for the skeleton storage server, which will later serve to facilitate the Midterm Software Demonstration and support the development efforts in subsequent milestones.

This milestone explores concepts such as logging and command-line based input and output.

See below to learn more about your implementation and design tasks for this milestone.

Learning objectives

With this milestone, we pursue the following learning objectives:

  • Obtain a basic understanding of the storage server skeleton code provided,
  • learn to build and run the storage server,
  • develop a simple command-line shell for passing input and output to the storage server,
  • develop simple logging capabilities for client and storage server,
  • understand how to follow simple instructions, e.g., assembling files into archives, etc.

We will build on these concepts in subsequent assignments. Also, the logging capabilities will ease debugging efforts for subsequent milestones and the command-line shell will help demonstrate the project results during the Midterm Software Demonstration.

Relevant tech talks

Tech talks will be given by TAs during lab hours each week. Here are the Tech talks relevant to Milestone 1 (cf. TAs and Labs):

Detailed assignment specifications

Follow link for detailed assignment specifications.

Submission instructions

Follow link for detailed assignment specifications.

Document revisions

Any notable changes to the handout will be listed in the table below:

Date Revisions
Jan 6th
Milestone is officially assigned.