CS68 Final Project

Due by midnight, Friday, April 28, 2017


Introduction

Your course project consists of a written report and a project demo. You should prepare a final report of at most 8 pages (ideally, 6 pages) that describes your project. It should be similar in style and organization to the research papers that we read this semester. This is your opportunity to describe in detail what problem you were solving, how you solved it, how you tested your solution, what your results show, difficulties you encountered along the way, what you would have liked to have done (or done differently), and what you learned from your project. You will also submit all your project code and give me a demo of your project. However, your grade is almost exclusively determined by your written report. This models the real research world where the research paper is the primary, and usually only, mechanism through which your work is evaluated, and where written conference proceedings are the main mechanism through which others learn about your work. Therefore, you should spend a significant amount of effort making sure that you have a complete, and well-written final report; don't do a fabulous project and then fail to present it well.


Project Components/Grading

The major components of your project grade are:


Project Code Review/Demonstration

During the last week of classes (and reading week), you and your partner will give me a 15-30 minute demo of your project. I will have a sign-up sheet and will provide flexible times.

It is up to you to decide what you are going to demo. Before we meet, decide what you are going to show me and be prepared to answer questions. This is your chance to show off all your hard work; you want to convince me that you did something interesting and that you did it an effective manner.

I will use your demonstration as a starting point for my review of your final code submission.

Detailed Requirements for Project Written Report

You have been provided a sample report document in your lab directories. You must utilize the provided LaTeX style files to produce your report. I am more than happy to answer questions, but will almost always just "google" the question for you. Use Piazza and Stack Overflow for best results. You should have the following main sections in your paper:

  1. Abstract
    The abstract is a brief summary of your work. It should be written to make the reader want to read the rest of your paper; think of it as your "elevator speech". Briefly state the basic contents and conclusions of your paper: the problem you are solving, why the reader should care about this problem, the algorithms/methods for approaching this problem, and the main results and/or contributions of your work. Limit your abstract to 200 words at most.

  2. Introduction
    The introduction is the big picture of your work: what, why, and how. It includes a definition of the problem you are solving, a high-level description of the solution(s) you apply to the problem, and a summary of the main results of your paper. In addition, motivates the problem you are solving (why should a reader find your work important), and describes your contribution to the area (this may not be applicable to your project).

    The first paragraph of the introduction should contain all of this information in a very high-level. Subsequent paragraphs should discuss in more detail the problem you are solving, your solution, and your results and conclusions. Remember that the target audience is a classmate who knows about the topics covered in the course but not your particular research question. Your introduction should successfully convey the culmination of your 4 weeks of work.

  3. Related Work
    This is an essential part of a research paper; discussing related work is a good way to put your work in context with other similar work, and to provide a way for you to compare/contrast your work to other's work. If it makes sense to do so, you can incorporate related work into your Introduction. For example, if you are building on previous work. You can review a recent paper by my group as an example.

  4. One or more sections describing your approach(es) This is some times referred to as Methods, Algorithm, Methodology, or Approach. Your section headings could even be specific to the algorithm, such as k-Nearest Neighbors. As a whole, these sections should tell the reader what you did, and how they could replicate it. Note that this section indicates how deep you investigated a problem, and mimics the presentation of methods as done in class. Be sure to address these issues:
    • Details of each algorithm and method you applied to the problem, at a algorithmic level. That is, tell me what a support vector machine is before telling me how you applied it to your data.
    • Your methods should include figures and/or pseudocode to help illustrate the approach. This could be a pipeline if you synthesize many approaches, toy example to explain a complex model, pseudocode (search for latex packages that fit your need), graphical models, and more.
    • Both a general depiction (e.g., dynamic programming) of the method and a specialization to your problem (e.g., Needleman-Wunsch).
    • Analysis if why these methods may be suitable.

    Be sure to discuss with me any questions you have about how this applies to your particular project. It is very important that this section is done in your own words - do not lift descriptions and images from other papers or online resources (except when citing very specific facts).

  5. Experimental Results
    • Experimental Methodology: Explain how you gathered the data and details of how your experiments were run. Did you use any external software? Did you pre-process the data in any way? How did you generate features from the data? Did you use cross-validation? Do you need to define any questions you use for evaluation (e.g., Silhouette Index).
    • Explain the tests you performed (and why)
    • Present your Results
      Choose quality over quantity; the reader will not be impressed with pages and pages of graphs and tables, instead s/he wants to be convinced that your results show something interesting and that your experiments support your conclusions. Your results should be rich in meaning and concise.
    • Discussion of your results.
      Explain/interpret your results (possibly compare your results to related work). Do not just present data and leave it up to the reader to infer what the data show and why they are interesting.

  6. Conclusions & Future Directions for your work Conclude with the main ideas and results of your work. Discuss ways in which your project could be extended -- What's next? What are the interesting problems and questions that resulted from your work?

  7. References
    At the end of your paper is a Reference section. You must cite each paper that you have referenced -- your work is related to some prior work. You must cite all referenced papers within the text of your paper.

Writing Style Guidelines

  1. Write in a top-down style
    First present the high-level issues, then expand them. This applies to the overall organization of your paper as well as the organization of sub-sections and individual paragraphs.

  2. Conclude each paragraph, section and entire paper
    Each chunk of your paper whether it be a paragraph, a sub-section, a section, or the entire paper should have a conclusion. For example, each paragraph should be written as follow:
    • 1st sentence(s): main idea of paragraph
    • middle sentences: expansion of the idea (further explanation or elaboration of the topic)
    • concluding sentence(s)

    Each section of your paper should be organized as: high-level important points first, details second, summarize high-level points last.

  3. Use active 3rd person
    We present, we show, we demonstrate...

  4. Define terms and acronyms, and always define them before using them

  5. Don't shy away from math - use equations and variables instead of overly verbose descriptions.

  6. Use figures
    Use diagrams to help explain system design, and graphs or tables for presenting results. The best papers have figures to help introduce the paper and problem, methods, and results.


Submitting your lab
Your complete final project is due by noon on Friday, April 28. Subdirectories below are in your git repository. You should hand in: