CS181 - Fall 2006
Final Project

For the last several weeks of the semester you should be working on a final project. At the end of the semester you will both give a 20 minute talk on your project, and turn in a final report. However, along the way there are various intermediate deadlines.

This page describes those deadlines and what's expected for each of them. I will be adding on to this page as the various deadlines approach. At any point in the semester you should feel free to make an appointment to talk to me about the project (should you find yourself looking for direction, advice, feedback, motivation, etc).


  • 11/1: project proposal and presentation in class
  • 11/13: summaries of papers related to final project
  • 11/15: progress reports
  • 11/29, 12/4: project presentation
  • 12/6: final project report

  • Project Proposal and Presentation

    Your final project can be either a survey paper (ie, literature review), or something more hands-on. In coming up with a topic you might start by thinking about whether there's an application that you're already interested in solving, if there's a topic that you've always wanted to know more about (maybe inspired by the papers we've read in this class?), if you enjoyed writing MPI code, and so on.
  • For some ideas ...

  • Look at the proceedings of some of the conferences that were listed as part of PS0. Similarly, take a look at what some of the groups mentioned on the web page are working on.
  • Re-read the slides from Rich Vuduc's talk on optimizing sparse matrix operations, in particular the ones on "things still to be done".
  • Design and/or evaluate a benchmark
  • Parallelize an algorithm:
  • I can suggest some graph algorithms motivated by applications
  • Look for better packings (look here or here).
  • Parallelize an application:
  • How do circles/spheres settle?
  • Netflix challenge
  • What to have done by 2:45PM on 11/1

  • project proposal: turn in a 1 page proposal for your final project which addresses each of the following:
  • A 1-2 paragraph description giving some background and/or context for your project. In other words, why is this interesting, what work does it extend, who might care about the results, and so on.
  • A 1-2 paragraph description of the project you plan to complete and the resources you'll need. Make sure to include a description both of what you'll have done by Thanksgiving break, and what you'll have done by the last day of class.
  • At least 2 conference or journal papers which give background and/or context that helps in understanding the content and/or significance of your project.
  • presentation: you should be prepared to speak for 5-10 minutes in class about your proposed project. You should also be prepared to ask at least one question about someone else's proposed project during their presentation.

  • Paper Summaries

    The following table gives the reading assignments for 11/13. Everyone is responsible for about 35 pages of reading (the number in parentheses after the title of each paper gives the page count), and at least one article is one that you selected on your own topic (so hopefully you've already read that one).

    Paper link Tim Alex Kristen Carl Frank Danny Charles
    A Grid-Enabled MPI: Message passing in heterogeneous distributed computing systems (9) pdf X X X X X
    Razor: A low-power pipeline based on circuit-level timing speculation (12) pdf X X
    Power-efficient value speculation for high-performance microprocessors (8) pdf X X
    Temporal difference learning and TD-Gammon (11) html X X
    Co-evolution in the successful learning of backgammon strategy (16) pdf X X
    n-Body simulations using message passing parallel computers (5) ps X
    A practical comparison of n-body algorithms (16) html X X
    Understanding the efficiency of GPU algorithms for matrix-matrix multiplication (5) pdf X X X X
    Reducing the total bandwidth of a sparse unsymmetric matrix (17) html X X X

    In addition to including all the other things you've been noting in your paper summaries all semester, write a few sentences on whether you think it's a good paper and why.

    Put each summary on a separate sheet of paper and bring 2 copies of each summary to class on 11/13 (one copy is for me and one is for the person who's doing the project on that topic).

    Progress Report

    You should each be prepared to speak for about 10 minutes in class on 11/15 about the current status of your project (things you've discovered/accomplished/etc) and about what you hope to have done by the end of the semester. Feel free to ask for feedback/comments/suggestions from the class.

    You should also be prepared to ask questions about other people's projects, particularly since each of you will have read related papers for at least two other projects.

    The order for 11/15 is:

  • Tim
  • Frank
  • Charles and Alex
  • Kristen
  • Danny
  • Carl

  • Project Presentation

    The presentations will take place in class on 11/29 and 12/4.

  • Guidelines for the presentation

  • This is a more formal presentation than the previous ones. Just as the final report is meant to be written in the style of a conference submission, this presentation should be done in the style of a conference presentation. Powerpoint (or some equivalent) would not be out of place.
  • You should plan to speak for 15-20 minutes. There will be 5 minutes for questions at the end of each presentation.
  • The order for the presentations is:

  • 11/29
  • Charles and Alex
  • Frank
  • Tim
  • 12/4
  • Danny
  • Carl
  • Kristen

  • Final Report

    The final report is due by 5PM on 12/6, although I won't complain as long as I have it by midnight on Friday, 12/8.

  • Guidelines for the final report

  • The final report should be written in the style of an 8-12 page conference paper.
  • Keep in mind all the criticisms you made of other people's papers during the semester. Try not to make the same mistakes.