Final Project

The project is the most important component of the course. It can take several forms:

  • Bring a theoretical contribution to the field (solve a problem, formulate an interesting open problem or conjecture, etc.).
  • Implement a data structure, and describe a set of experiments, and / or how to tune its practical efficiency.
  • Survey a few papers on a related topic.
  • Substantially improve the Wikipedia articles for several advanced data structures topics.

You are encouraged to relate the final project to your research interests, and you will not be limited to the topics discussed in class.

Project Proposals

You must submit a project proposal by Lecture 14. You should email your proposal to the teaching staff. The proposal should be about one page long (not more than two). It should discuss the problem you chose in a clear and specific way.

We decide whether to approve your project's theme based on the proposal, so it is imperative that you do some serious thinking about the project before writing the proposal. Even though you should not change the topic of the project after submitting a proposal, you may change the form of the project (such as writing a survey if you fail in bringing a theoretical contribution).


  • The project write-up may be done individually or in groups, though for groups we expect proportionally larger projects. As always in research, you are allowed and encouraged to consult with anybody, including the teaching staff.
  • You must submit a paper on the last day of classes, which should be on the order of 10 pages. Send your paper via email to the teaching staff. If you are writing Wikipedia articles, instead of a paper you should email links to the versions of the articles before and after your contributions.
  • You are also required to do a presentation during the last few lectures.