Projects

This is a project-based course, with a collaborative term project taking the place of a final exam. Students will work together in groups on a project that goes deeper into a specific area of interest. Projects may take different forms: a research project on an algorithmic technique or application domain, an implementation of an algorithm from the research literature, or the development of an original algorithmic solution to a real-world problem. In all cases, projects should combine theory and practice, focus on a topic or problem of real-world significance, and involve substantial original research. Identifying and refining the topic of the research project is itself an important component of the project.

Group Formation. Students will be matched to project groups of four or five students each based on time zones and topic interest expressed in a project survey. If  multiple students wish to work together in the same project group, they should indicate this in the project survey, and should also indicate the same topic preferences (or at least the same top preference) in the project survey. Although we will try to accommodate such requests, students are not guaranteed to be grouped with requested teammates.

Deliverables and Timeline. There are three major project deliverables. More detailed directions will be released for each deliverable.

  • Proposal (due 10/2). A 2-3 page written document detailing a specific research project, including introduction and research questions, motivation, related work, proposed methods, and timeline. 
  • Prototype (due 10/23). A 3-4 written document that presents preliminary results along with any challenges or changes to the proposal.
  • Final Report (due 11/13). A 6-8 page written document combining the elements of the proposal and prototype, along with more detailed results, analysis, and discussion. Should address feedback provided for the proposal and prototype.