6.858 Fall 2010 Lab 5: Final project

Proposals due: Friday, November 12, 2010
Presentations due: Monday, December 6, 2010 (in class)
Code and write-up due: Friday, December 10, 2010 (11:59pm)

Introduction

In this lab, you will work on a final project of your own choice. Unlike in previous labs, you may work in groups of 2 or 3 for the final project. You will be required to turn in both your code and a short write-up describing the design and implementation of your project, and to make a short in-class presentation about your work.

Below are some ideas for final projects that you might use as inspiration, including some of the projects from past years. We encourage you to come up with your own ideas for what you would like to work on; don't restrict yourself to this list.

We encourage final projects that combine some ideas you have learned in 6.858 with other classes or projects you are already working on. For example, implementing some aspects of a capability design from KeyKOS in the JOS kernel from 6.828 might make a good final project that you could use in both classes. Extending some system you are already working on to add better security mechanisms would also be a good candidate project.

Several final projects from last year's class ended up being subsequently published as research papers (e.g., UserFS and BStore). If this sounds interesting to you, try to pick an ambitious class project that you might want to continue working on afterwards!

There are three concrete steps to the final project, as follows:

Project proposal. Decide on the project you would like to work on, and the other students you would like to work with in a group. Discuss your proposed idea with course staff over the next week, before the proposal deadline, to flesh out the exact problem you will be addressing, how you will go about doing it, and what tools you might need in the process. By the proposal deadline, you must submit a one-to-two-page proposal describing the problem you want to address, how you plan to address it, and what are you specifically proposing to design and implement.

Project presentation. Prepare a short in-class presentation about the work that you have done for your final project. We will provide a projector that you can use to demonstrate your project.

Write-up and code. Write a document describing the design and implementation of your project, and turn it in along with your project's code by the final deadline.