CS 898, Spring 2025


About the course

Student responsibilities

Bibliography

Show and tell

Paper presentation

Project

Schedule

Policies

CS 898: Tilings and Computation

Spring 2025
Tuesdays and Thursdays, 3:30pm–5:00pm, DWE 3519
Instructor:
Craig S. Kaplan (csk@uwaterloo.ca)
Official outline

About the course

Tiling theory, the study of shapes that cover the plane with no gaps and no overlaps, is a fascinating subject that draws ideas from many areas of mathematics and computer science. Results in tiling theory are interesting as advances in mathematical research. Many results also transfer over into applied domains of computer science, particularly computer graphics. And of course, the practice of tilings has numerous decorative applications in art, architecture, and design.

After I give a few preliminary lectures laying out an introduction to tiling theory, we'll survey research from across the topic, from mathematics to computational geometry to computer graphics. We won't restrict attention to the newest papers only—it's not like there's a big annual conference where all the top tiling-theoretic work is published. We'll reach back into the 20th century when appropriate, and we'll occasionally leave the bounds of CS and wade into mathematics papers (without getting too deep into the abstract realms of pure math).

Note for CS graduate students: Because this course will cover both theoretical and applied topics, you can count it towards either the "Graphics and User Interfaces" or "Algorithms & Complexity" areas of the MMath or PhD Comp I requirements (but not both!).

Student responsibilities

Here's a tentative marking scheme for the course, with some preliminary details about each of the categories. The exact weights and details are subject to change before the start of the term.

Category Percentage Details
Participation 15% You are expected to attend classes in person and to engage in discussion about the papers being presented.
Micro-reviews 10% 15% You will write short answers to a few questions about all the papers we read and discuss. Micro-reviews are due at the end of the day before the paper is presented. You do not need to submit a micro-review for a paper if you are the presenter.
Show and tell 10% At least once during the term, every student will give a short presentation about an interesting tiling. More information below.
Paper Presentation 20% At least once during the term, every student will give a full presentation about a paper. The goal is not merely to present the facts of the paper, but to reflect on its significance and foster discussion of strengths, weaknesses, and opportunities for future work.
Final project 45% 40% At the end of the term, students will complete a project on a topic of their choosing that's related to the themes of the course. You can work alone or in pairs. I'm open-minded about what constitutes a valid project (research paper, software implementation, or even a technology-driven art project) as long as it has some computer science content. The marks allocated to the project will be further broken down into a proposal document, a work-in-progress presentation in the final weeks of the term, and the project submission itself.

The course does not include regular assignments or a final exam.

Readings and Resources

Please see the Bibliography page for a draft reading list and a few additional resources such as books and software.

One tricky aspect of the list of papers I'd like to cover is that there's a fairly wide range between the shortest and longest papers, or between the simplest and most complex papers. We'll want a way to keep things fair for all students. It may be that a student interested in simpler papers may have to present more than one, or that a really complex paper could be broken down and presented by more than one student.

Show and Tell

The goal of the show-and-tell is to introduce the class to an interesting tiling in a short presentation (roughly 10 minutes). The tiling can come from just about anywhere, but ideally satisfies the following criteria:

The intention is not that you should comb through published papers looking for tilings, and the talk doesn't have to be particularly technical. I'd rather you think back to a tiling you saw out in the world, or that you were aware of from architecture or design. As a canonical example, consider the use of the pinwheel tiling on the façades of Federation Square in Melbourne, Australia. Who knows: really interesting examples might inspire ideas for final projects.

Here are some suggested points to cover in your presentation (you don't have to address them all):

You do not need to request a particular tiling in advance—just decide on the day when you'd like to present (and brace yourself for the possibility that someone will go before you and choose the same tiling).

Paper Presentation

You must select a paper related to the themes of the course, and give a presentation about that paper to the class. You must also lead an open-ended group discussion about the paper, with the aim of engaging the class in the topic and generating ideas for new work.

There is no fixed format or template you must follow for the presentation and discussion. I suggest you aim for a presentation of around 20–30 minutes, followed by a discussion of 10–20 minutes. A 20-minute presentation is fine if that's all the time you need; you can use more, but don't exceed 30 minutes. If the discussion happens to run long, and there's time left in the class to accommodate it, that's fine. Obviously my default expectation is that you'll prepare a slide presentation and deliver it from the podium. That's not a strict requirement, but if you do something very different, it may throw other students for a loop.

The most important thing to keep in mind when preparing your presentation is that the audience will have already read the paper. Thus the context is quite different from presenting a new paper at a conference. You shouldn't plan to give a "recitation" of the paper by listing its contributions and methods in order, though of course some of the presentation should just establish what the main ideas are. You should spend time on the broader context of the work. Here are some possible things to include in your presentation. They often require you to do some research beyond the paper itself, which of course is a useful skill.

Project

The course will culminate with a final project in which students will 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.

More information about project milestones and potential topics can be found on a separate page.

Schedule

Here's a tentative schedule for the term. We'll fill up this schedule as students claim papers and dates on which to present them. We may make other adjustments during the term as needed.

Week Date Topic
1 Tuesday 06 May Introduction and overview
Thursday 08 May Lecture 1: Basic notions of tiling theory
2 Tuesday 13 May Lecture 2: Periodicity, non-tilers
Thursday 15 May Lecture 3: Nonperiodicity and aperiodicty
3 Tuesday 20 May Lecture 4: Wang Tiles
Thursday 22 May Playing with tiles
4 Tuesday 27 May Paper: BD, "Your friendly neighborhood Voderberg tile"
Show-and-tell: YY
Thursday 29 May Paper: MA, "Texture Tiling on Arbitrary Topological Surfaces using Wang Tiles"
Show-and-tell: MKJ
5 Tuesday 03 June Paper: MH, "Verification of a brick Wang tiling algorithm"
Show-and-tell: MA
Thursday 05 June Paper: LFD, "Undecidability and nonperiodicity for tilings of the plane"
Show-and-tell: MH
6 Tuesday 10 June Paper: YY, "Wang tiles for image and texture generation"
Show-and-tell: LFD
Thursday 12 June No meeting
7 Tuesday 17 June Paper: RW, "Tiling the Plane with a Fixed Number of Polyominoes"
Show-and-tell: BD
Thursday 19 June Paper: LC, "Generative Escher Meshes"
Show-and-tell: LP
8 Tuesday 24 June Paper: BJL, "Recursive Wang tiles for real-time blue noise"
Show-and-tell: JS
Thursday 26 June Paper: LP, "Tiling with three polygons is undecidable"
Show-and-tell: BJL
9 Tuesday 01 July No meeting
Thursday 03 July Paper: MKJ, "An optimal algorithm for tiling the plane with a translated polyomino"
Show-and-tell: RW
10 Tuesday 08 July Paper: JS, "Heesch numbers of Unmarked Polyforms"
Show-and-tell: LC
Thursday 10 July No meeting (suggested: read Greg Egan's "Wang's Carpets")
11 Tuesday 15 July No meeting
Thursday 17 July No meeting
12 Tuesday 22 July Interim project presentations: LFD, LP+BJL, RW
Thursday 24 July Interim project presentations: BD, MA, LC
13 Tuesday 29 July Interim project presentations: MH, MKJ, YY

Policies

Generative AI

Generative artificial intelligence (GenAI) trained using large language models (LLM) or other methods to produce text, images, music, or code, like Chat GPT, DALL-E, or GitHub CoPilot, may be used under specific conditions in this course with proper documentation, citation, and acknowledgement.  Permitted uses of and expectations for using GenAI will discussed in class and outlined on assignment instructions.

That's the university's boilerplate text. Let me expand on it. Basically, I'm opposed to using Generative AI. I don't trust it to work reliably. When it's wrong, it's often wrong in subtle ways that are easy to miss, precisely because it's tuned for plausibility over correctness. More fundamentally, even if it worked flawlessly, you shouldn't use it. Generative AI certainly does nothing to make you smarter, and there's some evidence that it may even make you dumber (by stunting your critical thinking skills). If you weren't interested in becoming smarter, then why did you come to grad school?

The one place where I can offer some leeway is in using Generative AI to improve English writing. If you aren't a confident writer, then it's OK to treat a system like ChatGPT as a fancy grammar checker: you can feed in your draft text and have it spit out a polished version. It is your responsibility to look over the generated text carefully to make sure its meaning is preserved. You are required to disclose any AI tools that you used to help with writing and must, upon request, provide a transcript of your interaction with the tool.

Mental Health

At the University of Waterloo, we are dedicated to supporting your mental and emotional well-being. Our Counselling Services offer confidential support, including individual counselling, workshops, and crisis intervention. If you're struggling, please reach out for help at 519-888-4096 or visit their website for more information.

Academic integrity

In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. [Check the Office of Academic Integrity for more information.]

Grievance

A student who believes that a decision affecting some aspect of their university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt, please be certain to contact the department’s administrative assistant who will provide further assistance.

Discipline

A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for their actions. [Check the Office of Academic Integrity for more information.] A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate associate dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties, check Guidelines for the Assessment of Penalties.

Appeals

A decision made or penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes they have a ground for an appeal should refer to Policy 72, Student Appeals.

Note for students with disabilities and disabling conditions

The University of Waterloo recognizes is obligations under the Ontario Human Rights Code to accommodate students with known or suspected disabilities and disabling conditions (e.g. medical conditions, injuries, impacts of trauma such as from violence or discrimination) to the point of undue hardship. To support this obligation, AccessAbility Services (AAS) collaborates with all academic departments and schools to facilitate academic accommodations for students with disabilities and disabling conditions without compromising the academic integrity of the curriculum. If you believe you may require academic accommodations (e.g., testing accommodations, classroom accommodations), register with AAS as early in the term as possible by completing the online application. Students already registered with AAS must activate their accommodations for each of their courses at the beginning of each term using AAS' online system. If you require assistance, contact AAS by phone (519-888-4567 ext. 35082), email (access@uwaterloo.ca) or in-person (Needles Hall North, 1st Floor, Room 1401).