6.849: Geometric Folding Algorithms: Linkages, Origami, Polyhedra (Fall 2020)

Prof. Erik Demaine; Martin Demaine; TAs Yevhenii Diomidov & Klara Mundilova

[Home] [Lectures] [Problem Sets] [Project] [Coauthor] [Github]


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

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

Deadlines and Format


Collaboration is strongly encouraged, especially for research projects—this is often the key to successful research in theoretical computer science. You can work in a group of students in the class if you find common interests. (Students listening to the class will likely have less time to devote, but they are welcome to participate in a project too.) In particular, we expect that many projects will naturally grow out of the collaborations during the interactive portions of class. We have higher expectations of projects by larger groups.

You are also welcome to collaborate with anyone outside the class, including your research supervisor (if you have one) and including the course staff. The only constraint for the class is that your own contribution should be substantial enough, both in terms of solving problems and writing it up. (To evaluate “substantial enough”, talk to the course staff.) In any case, collaborators should be clearly marked in the project proposal, paper, and presentation.

If you work on a team, you will be required to post a short private Coauthor message (in the appropriate thread) summarizing your own contributions to the project(s) you were involved in (when submitting the project). This will let us ensure that everyone makes substantial-enough contributions.

Multiple Projects

You are allowed to work on multiple projects, possibly with different teams. Just make sure that the total amount of work you do sums to at least one “person project unit”. We suggest having one as your main, or one or a small number to which you will make major contributions, along with any number of projects to which you will make minor contributions. We also require that you do some of the writing on at least one project paper, and participate in at least one of the project presentations.

In particular, we'd like projects tackling/solving open problems to match papers as much as possible. For example, instead of working on one project about two small papers, write two smaller projects. Conversely, instead of doing a project about your piece of a larger paper, be a part of a large project to write the entire paper. It's also fine to write up other people's results from open problem solving if they're OK with it (in particular, if they're not planning to do so for their class project) — help with writing is an important contribution to any paper!


A project with k presenters will have 8 + 2k minutes for their presentation. So:

Presentations are short, so be efficient in what you cover (and be sure to split the time roughly evenly between speakers). Focus on the problem you tackled, why it's interesting, and what results you came up with, and don't get bogged down in details. It's OK to go a little under time, but do not go over time. Practice your talk, both to measure and to optimize time spent.

To submit your presentation, attach a PDF document to the relevant thread on Coauthor, and then edit that post to have your project's title, to at-mention everyone involved in the project (including yourself), and to add a link to your presentation recording. (If you wish, you can also attach a PowerPoint file, or link to Google Slides or other cloud service, but PDF makes it easy to view the slides within Coauthor.)

Your presentation recording can be done in one of two ways:

Your uploaded slides and video link will be visible to your fellow students, so that they can watch your talk as well.

Project Submission

To submit your final project, attach a PDF document to the relevant thread on Coauthor, and then edit that post to at-mention everyone involved in the project (including yourself), and to add a link to the source files (LaTeX, figures, code, etc.). We require putting all source files into a repository on our MIT Github organization, or an Overleaf document with link sharing turned on, and including a link in your post. If you're unfamiliar with Github, here are some basic instructions:


Many of the in-class discussions/results are suitable for extension into projects. In addition, here is a list of possible project ideas, or seeds of project ideas, extracted from Fall 2012 lecture (L) and class (C) notes and Fall 2010 lecture notes (O). You can also see some sample past projects from Fall 2012. Your project proposal would need to flesh out these ideas into a project scale (in particular, significantly larger than a problem set, and in proportion to your group size).


Coding Open Problems