CS49/Math59: Final Project

Overview of Requirements

Do not blow off the initial report or checkpoints. The action plan should describe what tasks you plan on accomplishing in the remaining three weeks. Each checkpoint should describe how tasks from the action plan have been accomplished, or what issues have arisen that prevented intermediate tasks from being completed on time.

This final project should be done with one partner, but you don't have to work with your usual partner. In fact, I recommend looking at possible topics on your own and then finding a student with similar interests. You are welcome and encouraged to discuss ideas with anyone in the class (not just your lab or final project partner).

Frequently Asked Questions

Introduction

Throughout the course, we have seen a good amount of discrete probablity theory, several different problems, techniques for using the Probabilistic Method, and many different problems/applications of the Probabilistic Method. With each topic, you have built foundations of an advanced toolkit for understanding and analyzing combinatorial and computational processes that use probability and randomness. The constraints of a 13-week course limited the number of Probablistic Method/Theoretical Computer Science topics we considered, as well as the variations and nuances of some that we did cover. The central goal of this course, however, was not to memorize every technique and problem ever considered. Rather, it was to develop the skills of design and analysis that are a prerequisite to becoming a competent theoretical computer scientist.

For your final project, you will demonstrate these newly acquired skills by exploring a related topic at a deeper level than what we've been able to cover in class. You will write a medium-length paper which will discuss your chosen topic. Your report should introduce the topic, provide a motivating example, compare and contrast to a related result (when applicable), and analyze a few aspects of your topic in detail. (For example, if your topic is a detailed randomized algorithm, you should analyze a few of the main details. If your topic is a probabilistic Method technique that involves nontrivial analysis, you should examine some (but not necessarily) all of the details. You will demonstrate not only your conceptual understanding of the topic(s), but also your ability to analyze probabilistic/randomized processes, as well as your written and oral communication skills.

Project Format and Deliverables

The main deliverables for this project are an 8-10 page paper and a 15 minute oral presentation. (Note: if you propose to design and implement a randomized algorithm, I am willing to relax the length of the paper.)

Choosing a Topic

The choice of topic to consider is largely open-ended. However, you must send a short abstract (one paragraph) explaining your plan by Wednesday November 11. This should include the topic you plan to cover, what you aim to discuss in your paper, and what else you plan on producing (say C++ code if you plan on implementing a randomized algorithm). You can use either the Alon/Spencer book or the probability section of the Shoup book to find example topics we did not cover. You can also explore resources online.

If you have little intuition for what you want to investigate for your final project, I suggest doing one of the following:

  1. Looking through the Alon/Spencer book for ideas, especially through any of the "Probabilistic Lens" sections which appear at the end of each chapter.
  2. Perusing through the resources/ideas below
  3. Coming to me to discuss options ;)
Other resources include: Some example Probabilistic Methods topics include: Some probability-related topics include: Some example Randomized Algorithm/Theory CS topics include:

Writeup Requirements

Your writeup should be well-structured and follow scientific writing principles. You can structure as you see fit, but at a minimum, your paper should include:

Your paper should be typed in LaTeX; no hand-written writeups will be accepted. The exception is with illustrations, which can be neatly drawn and attached to your writeup. I would prefer you scan and attach the images to your PDF document, if possible. If you are interested, feel free to email me any LaTeX questions.

In terms of the length of your writeup, it is really up to you to judge how much material adequately describes your data structure/algorithm. Your writeup, excluding figures, should not exceed 10 pages.

Presentation

A short, 15 minute presentation is required. All students will evaluate your presentation on the following criteria:

  1. Rate the introduction/motivation for the material
  2. How effective was the presenters sample illustration in conveying the high-level features of the data structure/algorithm?
  3. Overall, how effective was the presentation in explaining the data structure or algorithm?
  4. Briefly, describe the strongest part of the discussion
  5. Briefly, list one thing the presenter could improve upon to help you understand the topic better
Both partners are expected to contribute equally to the presentation and writeup

Presentation Logistics and Tips