6.858 Fall 2011 Lab 7: Final project

Wiki submission due: Friday, November 4, 2011
Proposals due: Monday, November 14, 2011
Presentations due: Monday, December 12, 2011 (in class)
Code and write-up due: Friday, December 16, 2011 (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 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, BStore, and LXFI). If this sounds interesting to you, try to pick an ambitious class project that you might want to continue working on afterwards!

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

Form a group. Decide on the project you would like to work on, and post a one-to-two-sentence summary of your idea to the project ideas wiki page. Use the same list of project ideas to help you find other students interested in similar projects, for forming a group.

Project proposal. 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: your group members list, the problem you want to address, how you plan to address it, and what are you proposing to specifically design and implement.

Submit your proposal via email to the course staff (6.858-staff@pdos.csail.mit.edu).

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.