|
|
You are encouraged to propose your own project idea, though we will provide various project topic ideas (to help you brainstorm). It is more than fine for your project to span areas, combining system software issues (this class) and others like intelligent systems, theory, and programming languages. However, there must obviously be a significant 712-related component, and all project plans must be explicitly okay'd by the course staff. It is also fine for your project to serve some external purpose (e.g., contributing to your research agenda), but the work must be done by the members of the group in the class, the resulting project must be included in the class tech report, no non-712 student name can appear in the author list, and there must be concrete planning and completion of steps as specified below, and no external concerns will excuse missing any of these steps.
Some prior 712 class projects are described in the following techreports: CS-CMU-05-138, CS-CMU-05-201. Another good resource to look at is An Evaluation of the Ninth SOSP Submissions, or How (and How Not) to Write a Good Systems Paper (by R. Levin and D. Redell, in Operating Systems Review, vol. 17, no. 3, July 1983, pp. 35-40) -- it is available on the Readings page.
Logistically, you should work in groups of three to four. Use your office machines or the department's course clusters for most projects. The fraction of total project grade associated with each of the following documents is in proportion to the requested written length.
(3 pages; single spaced, one or two columns, 10 point font or larger)
Describe the project idea/application, how it relates to the course material, what work must be done (suggesting how it can be partitioned among you) and what resources you will need (including software systems you already have access to). Concentrate on convincing us that it will pertain to the course, that you will be able to complete it, and that we will be able to evaluate it. The third page should be dedicated to providing an outline of your intended final paper, identifying the specific experiments to be run and what questions they will answer.
(2-3 pages + bibliography)
Identify work and results related to your proposed project. Describe how your project fits within the context of this previous work, including what your project will add to existing understanding, what previous results your design will leverage, and previous/alternate approaches to solving the problem your system addresses. Cite the relevant published works in your bibliography.
Please provide a short review (less than 1 paragraph) of your project at the beginning of this document to remind us what you are working on.
(5 pages)
Describe the core ideas in the project and how they achieve the overall goals of the project. Emphasize the hypothesis you will be testing and how the test can generate clearly positive or negative results. Present a detailed description of the software design, including module decomposition, packages used, partitioning of work among the group and highlighting the course material relationships. Report logistical obstacles and your approach to overcoming them. Construct a detailed sketch of your evaluation plan - what hypothesis is to be tested, how will you control the test circumstances, what workloads will you apply, why will this test enable resolution of the hypothesis, and what and how will specific metrics be measured. Doing this well will significantly simplify the rest of the project, specifically the writing of the final report.
(2 pages +)
This should be a status report. All obstacles should be resolved. The evaluation plan should be finalized. Any major changes in design should be documented. Initial data collection and reporting is very strongly encouraged.
(10 pages)
This is a complete report. It should report goals, relationship to the course, related work, hypothesis, implementation design, evaluation methodology, results and analysis, discussion of hypothesis outcome, most interesting future work, and a bibliography.
Present a 7-12 slide talk on the project (15-25 minute presentation) in class.