Introduction

The final project is the most important part of this course. It is essentially a mini research project that may involve building a new system, designing a new algorithm, improving an existing technique, applying an existing technique to a new domain, or performing a large case study. You are encouraged to come up with a topic of your own, which I'll help refine; alternatively, you can choose one of the projects suggested by me. A list of project topics will be posted on Google Classroom.

Final Report

Write a 6-page report in a research paper format (10pt, double-column) describing your project problem, motivation, approach, implementation, and results. Here are some guidelines:

  • Start with an overview describing what problem you address in this project, why it is important, why it is hard, what your contributions are, along with any key findings.
  • Present your approach at a high level first, and then illustrate it with a clear example. Include code snippets only where it demonstrates something you want to highlight.
  • Make sure to highlight any particular aspects in your project you found important.
  • Also highlight any challenges you encountered: did you try something that didn’t work? Why not? How did you overcome it?
  • Please do not just copy and paste raw output in the report. Try to summarize your results and choose one or two interesting benchmarks to discuss.
  • The report should be turned in as a PDF.