Due: Friday March 25 before 1pm.
How to submit
Hand in a printout of your project proposal and your annotated bibiliography
to me before the due date. Also email me a pdf version of both before the
I WILL NOT accept any proposals late;
late submission will result in a zero for this part of the project.
These parts count towards 5% of your final grade
If you have not already done so, first read the page about the course
project that gives a high-level overview of the project and lists the
specific parts with tentative due dates for later parts:
CS87 course project
You should create an annotated bibliography of at least 3 papers closely
related to your project (more is fine). As you read each paper, add an
entry to your annotated bibliography. An annotated bibliography will list
each paper as it would appear in a references section of a research paper.
In addition, each listing is annotated with a couple paragraphs that describes
the work. Use the course reaction notes as a guide for writing the
annotation part: each paper should have 1 paragraph that summarizes the work,
lists strengths and weaknesses, and discusses the main contribution of the
work, and it should have 1 paragraph that analyzes the work in the context of
how it is related to your project (think about asking and answering some
questions about this work related to the project you are addressing).
Look at the annotated bibliography section of my
CS Research and Writing Guide the "Getting Started" section below
for links to places to look for related work papers.
Your project proposal should be 4-5 pages long (in addition to your annotated
bibiliography). It should clearly state
the problem you are solving, how you are solving it, and explicitly list your
plan for completing your proposed project. Specifically, your proposal should
contain the following:
- Title and Authors
- An Introduction: 1-2 paragraph summary of the problem you are solving,
why it is interesting, how you are solving it, and what conclusions you
expect to draw from your work.
- Related Work: 1-2 paragraphs describing similar approaches to the one
you propose. This need not be an exhaustive summary of related literature, but
should be used to put your solution in context and/or to support your solution.
This is also a good way to motivate your work. This can be a summary taken
from your longer annotated bibliography.
- Your Solution: 3-4 paragraphs describing what you plan to do, how you
plan to do it, how it solves the problem, and what types of conclusions you
expect to draw from your work.
- Experiments: 1-3 paragraphs describing how you plan to evaluate your
work. List the experiments you will perform. For each experiment, explain how
you will perform it and what the results will show (explain why you are
performing a particular test).
- Equipment Needed: 1 paragraph listing any software tools that you will
need to implement and/or test your work. If you need to have software installed
to implement your project, you should check with the systems lab to see if it
is something that can be installed on the CS lab machines.
- Schedule: list the specific steps that you will take to complete your
project, include dates and milestones. This is particularly important to
help keep you on track, and to ensure that if you run into difficulties
completing your entire project, you have at least implemented steps along
the way. Also, this is a great way to get specific feedback from me about
what you plan to do and how you plan to do it.
- Conclusions: 1 paragraph summary of what you are doing, why, how, and
what you hope to demonstrate through your work.
If you want to use latex and bibtex, I have a example that you can use
as a starting point:
I have some ideas for course projects that are available
here (and please, these are not for public distribution):
You are welcome to use one of these as a starting point for developing a
project, or to come up with your own idea.
Once you have one or two general ideas for projects, you will want to
more completely define exactly what you plan to do and how you plan to do
it. A good way to start with this step is to take a look at related work;
you want to have an understanding of what has been done, and how what you
want to do fits into the field. It will help you modify and more
completely define your project, and get some ideas of how to implement and
test your project.
Take a look at the "Getting Started" section of my
CS Research and Writing Guide for links to places to look for related work papers.
I have links to some other papers here:
Additional Cluster and Distributed
Another place to start getting ideas is to look at recent conference proceedings
from SC, IPDPS, Cluster, and other parallel and distributed computing
Machines and Software Available for your use:
- openMPI: runs on all lab machines
- openMP: on all lab machines
- CUDA: runs all lab machines
- all CS lab machines
- XSEDE access to large clusters and other parallel machines. All
machines support MPI, and many also support CUDA and other parallel languges.
If there is other software you need that is not available on our stysem,
we may be able to install it or install it on our system or on some of
our machines. You should talk with me and Jeff about this.
Some Benchmarks and Tools: