CS348K: Final Project Instructions

Project Proposal Due: Thursday, Nov 1

Project Due: Monday, Dec 10

You are encouraged to design your own project, and explore a topic of your choosing and interest. Do something fun! But for those that are interested in suggestions, please see the end of this doc for a list of potential ideas.

The purpose of the proposal is two-fold:

Writing your ideas down forces you to organize your thoughts about your project . It gives me the ability to verify that your plans are of the right scope (and it also gives me the ability to offer suggestions and help, if applicable). You may submit a short (1-2 pages is fine) project proposal by emailing me a pdf or by sending me a link to a webpage. In either case, I recommend that proposal contain the following sections and content:

TITLE

Please provide the title of your project, followed by the names of all team members and SU ids. There may be up to 2 students per team.

SUMMARY

Summarize your project in no more than 2-3 sentences. Describe what you plan to do and (most importantly) what will be learned. By "what will be learned", I mean what is the question the project is trying to answer? (or what hypothesis will be tested?) If this proposal was a paper, this would be where you attempt to list the anticipated contributions or single big idea of your project. -- yes, they may evolve over time. In general, this short description serves to get you thinking about the essence of what you are trying to achieve. Here’s a squick template:

  • I am asking the following research question...
  • I hope to demonstrate that...
  • I hope to replicate the results in...
  • The reason why this project is challenging is ...
  • I will demonstrate success/failure by running this experiment, and show the following demo/analysis/etc...

BACKGROUND/THE CHALLENGE

Why is this project hard? Describe why the question you are trying to answer is a challenging one (and why success would constitute a nice outcome). Specifically, think about this as the problem framing often done by the related work in a publication.

RESOURCES

Describe the resources (type of computers, starter code, etc.) you will use. What code base will you start from? (have you successfully been able to build the starter codebase on your target machine?) Are you starting from scratch or using an existing piece of code? Is there a book or paper that you are using as a reference (if so, provide a citation)? Are there any other resources you need, but haven't figured out how to obtain yet? Could you benefit from access to any special machines?

GOALS AND DELIVERABLES

Describe the deliverables or goals of your project. This is by far the most important section of the proposal:

Separate your goals into what you PLAN TO ACHIEVE (what you believe you must get done to have a successful project and get the grade you expect) and an extra goal or two that you HOPE TO ACHIEVE if the project goes really well and you get ahead of schedule. It may not be possible to state precise performance goals at this time, but we encourage you be as precise as possible. If you do state a goal, give some justification of why you think you can achieve it. (e.g., I hope to speed up my starter code 10x)

If applicable, describe the artifact (or demo) you plan to show in your final presentation (will it be an interactive demo? will you show an output of the program that is really neat? will you show speedup/scalability graphs?). Specifically, what will you include in your final report that will demonstrate you did a good job? (the teams that think about an evaluation plan now typically end up with the best projects -- what dataset/workloads will you use for evaluation?)

Systems building project proposals should describe what the system will be capable of and what performance is hoped to be achieved.

SCHEDULE

Although this will certainly get refined in the coming week or so, attempt to make a schedule for the project. List what you plan to get done each week from now until the project due date in order to meet your project goals -- take note of the checkpoint due date in mi November. It's perfectly fine to admit that in some weeks you will get nothing done (due to conference travel or other deadlines). In designing a schedule it's often helpful to work backward in time from your deliverables and goals, writing down all the little things you'll need to do (establish the dependencies!).

PROJECT IDEAS

I'll post a project ideas page on Piazza.