CS 395T: Fine-grained parallelism -- Final project



The purpose of the final project is to provide hand-on research experience. Projects can cover a wide variety of concrete problems but should propose a novel, creative solution to the problem, and/or evaluate existing approaches in more depth than has been done before. Projects will be carried out by individuals or by small teams and I will mentor the project teams. The deliverable will be an implementation of the proposed solution and a 8-12 page paper written as a conference paper submission. Each group will present the final project to the class.

You may choose your own topic for the final project, subject to approval from the instructor. Of course, the project topic should be related to the subject matter of this seminar. Teams of more than two people require substantial justification and a very clear division of responsibility between team members.

A list of various ideas for final projects is here.

Actual projects


Project proposal

As a first step you should write a one page project proposal. The proposal should motivate the problem you are attacking and why it is interesting, state the goal of your project, identify the key technical challenges you will face, and outline your technical approach. If you plan on collaborating with others, identify your partners and briefly describe how each person's piece relates to the others. Provide references to previous work and survey what has already been done. Make your proposal available as a web page, and submit the url by sending email to the instructor.

The instructor will provide feedback on whether your project is reasonable, and also try to offer some technical guidance, such as additional papers you might want to read. If appropriate, the instructor may meet with you after reading the project proposal.

Project deliverables

Mid-project checkpoint

Update your project proposal to describe current project status. You should describe what you have accomplished so far and describe your initial results.

Final paper

The final project report should take the shape of a 8-12 page paper written as a conference paper submission. It should present related works, a detail description of your visualization, and include a discussion of your design.


We will consider strongly the novelty of the idea (if it's never been done before, you get lots of credit), how it address the problem at hand, the methodology you employ in doing the research, and your technical skill in implementing the idea. A high grade will be roughly equivalent to a recommendation from us that you continue to pursue your work and submit it to a conference for publication.

The projects may be done by small groups, but each person will be graded individually. A good group project is a system consisting of a collection of well defined subsystems. Each subsystem should be the responsibility of one person and be clearly identified as their project. A good criteria for whether you should work in a group is whether the system as a whole is greater than the sum of its parts!


(c) 2005-2006 Bill Mark; but much of the text adapted from CS384g project page at Stanford.