Project

We will conclude the class with a final project. You will propose, implement, and present a system that builds on topics from the first portion of the semester. While you are not expected to use every concept we’ve covered, you do need to incorporate at least two core areas from the class in your project. Core areas are:

  1. Virtualizing the CPU
  2. Virtualizing Memory
  3. Concurrency on the CPU
  4. Concurrency on the GPU
  5. Persistence
  6. Distributed Systems

You may complete the project individually or in groups of up to three students. You may use your classmates as a resource, but please cite them.

Your final grade on the project will be based on these three components as well as your project proposal, using the following proportions:

Implementation
50%
Report
20%
Presentation
20%
Proposal
10%

The following pages describe the requirements for each component. You can find details on each stage of the project under the links below:

Proposal
  • Assigned April 18, 2017
  • Due April 21, 2017 by 10:30pm
Revised Proposal
  • Assigned April 24, 2017
  • Due April 26, 2017 by 10:30pm
Implementation
  • Assigned April 24, 2017
  • Due May 8, 2017 by 10:30pm
Presentation
  • Assigned April 24, 2017
Report
  • Assigned April 24, 2017
  • Due May 12, 2017 by 10:30pm