CS 898, Spring 2025


Proposal

Presentation

Final submission

Suggested topics

Project

The course will culminate with a final project in which students explore a topic related to tilings and computation, from either a theoretical or a practical perspective. The project can be completed alone, or in groups of two; marking will be the same either way.

Proposal

Due date: Monday, 30 June, 11:59pm (by email)
Weight: 5%

Prepare a short document describing your plans for the final project. The proposal creates a reason for you to start thinking in advance about what you might want to do, and to look around for existing resources (papers, websites, software) that might help you achieve your goals. Of course, it's also an opportunity to receive feedback about aspects of the work that are easier or more difficult than they might appear, pointers to additional resources, and so on.

The proposal doesn't have to be long: a single page is probably sufficient, maybe two pages if you have a lot to say or want to include some images. You'll want to demonstrate that you have some idea of what the topic is and what sort of work will be involved. There's no fixed format, but think about responding to the following questions:

The proposal isn't a contract: it's only natural in a research context that you might drift away from the precise topics of the proposal during your work. Of course, finding a more focused, more concrete topic at this stage permits better feedback, and may help you stay more on track.

Submit your proposal by emailing it to the instructor as a PDF attachment before the deadline. Make sure to include your name in the PDF. If you're working in a group of two, you can submit a single PDF containing both of your names.

Work-in-Progress Presentation

Dates: July 22, 24, and 29 (see class schedule)
Weight: 10%

Prepare a 10–15 minute presentation that describes your project, highlights the work you've done already and any results you've obtained, and identifies challenges yet to be overcome. There is no fixed format for the presentation. The main goals are to introduce your topic to the other students in the class, and to provide a work-in-progress report. Here are some suggestions of possible (but not required) points to cover:

Obviously, part of the reason to give a work-in-progress report is to generate the motivation for you to have some progress to report on! The presentations come relatively early in the overall lifecycle of the project, but I hope you'll have at least a couple of small results to demonstrate. If not, you may have to show some mock-ups of what you hope to accomplish. In any case, your mark for the presentation will be based on the quality of the presentation itself, and not how far along you are in your work.

For students working in teams, you can decide how to divide up the presentation time, as long as each student delivers a non-zero amount of the presentation. You will receive the same grade.

Final Submission

Due date: Friday, August 15th
Weight: 10% (report), 15% (content)

You must submit a final report and a source code repository (if your project has a software component). The report can be sent to me via email, in the form of either a PDF or a URL that points to a live web page. The report can optionally include a demo video (more details below); ideally, put the video online somewhere and send me a link, or embed it in your report if submitting it as a web page. The source code can come as a standard archive (.zip or .tar.gz), or as a link to an online repository to which I have access. Include a README that helps a reasonably competent programmer build and run your software.

There is no fixed format for the report. You might consider aiming for the format of a Bridges paper, against the possibility that strong projects could become submissions to next year's conference. There's no required length, but I suggest aiming for 5–8 pages, maybe more if you include lots of images (please don't go overboard with writing: the turnaround time for me to submit final grades is quite short).

If you're comfortable preparing your report in the style of a technical paper, then feel free to do so. If you prefer "project report for a grad course" format, that OK. Here are some suggested points to cover.

I'm somewhat open-minded about creative final submissions. If you have a good idea for how to submit your work that doesn't quite fit the mold above, you might be able to win me over. If you're not sure, you can always ask me first. If in doubt, it's fine to stick with "the usual".

Suggested Topics

The project is intended to be open-ended, so there's no specific list of topics to choose from. Thus everything below is just some thinking-aloud advice about possible topics, drawn in part from my personal wish list.

A natural starting point for a CS graduate interested in applied research is to implement a paper. A number of papers in the bibliography are about highly practical computer graphics algorithms (e.g., "Texture Tilings on Arbitrary Topological Surfaces") or computer searches of shapes (e.g., "Heesch numbers of edge-marked polyforms"). You're free to pick and choose: you're not required to precisely implement the entirety of any one paper, and there may be value in combining ideas from multiple sources to produce something new.

Students more interested in theoretical research might try producing some new results in complexity or undecidability. At the outset this feels somewhat higher risk, but you may be more comfortable than I am at writing theoretical papers.

Here's a list of random topics that might be interest. I'll add to the list of other ideas arise in the next few weeks.