Creative Artificial Intelligence for Computer Graphics
Course Description

How can artificial intelligence help us to create visual content? This seminar course surveys recent research using AI and machine learning techniques to create 2D and 3D graphics content, with an emphasis on probabilistic generative models. Each week, we will read two papers on a closely-related topic and discuss their contributions, connections, and limitations. Students will also undertake an open-ended final research project. Throughout, the course will emphasize key academic skills such as critical paper-reading and how to give clear and compelling presentations.

Essential Info
Instructor: Daniel Ritchie
Class Meetings: Wednesdays 3-5pm, CIT 477
Office Hours: Tuesdays 2-4pm, CIT 445
Textbook: None, though picking up a copy of Writing for Computer Science is recommended.
Prerequisites: See the CS course catalog entry.

For questions, discussion, and other course-related posts, use the Slack channel.

If you have an atypical question that you are certain does not belong on the Slack channel, email the instructor.
The instructor will not respond to direct messages on Slack.

Course Schedule
Sep 6
Introduction and Overview
Introductions, course description, and an overview of the research topics we will cover during the semester.
Sep 8
Submit enrollment / topic preference form.
Sign up for the course Slack team and upload a profile picture.
Sep 13
Reading and Presenting
In-class tutorial session on how to read and present research material.
Submit notes on the readings by 10am (and bring your notes to class).
Rough sample reading response that we wrote together in class (and my version).
Sep 20
Arranging Objects
Presenters: Max Urbany, Kai Wang
Sep 27
Controlling Procedural Models (I)
Presenters: Kenji Endo, Kent Williams-King
Oct 4
Controlling Procedural Models (II)
Presenters: John Kelly, Benjamin Attal
Oct 11
Learning Procedural Models
Presenters: Ben Sheeran, Katya Schwiegershausen
Oct 18
Generating 3D Geometry
Presenters: Shannon Ward, Patricio Ricaud
Oct 25
Translating Images (I)
Presenters: Zach Dixon, Aaron Gokaslan
Nov 1
Translating Images (II) + Designing Floor Plans
Presenters: Joe Utama, Tyler Schicke
Nov 3
Project proposal deadline
Nov 8
Assigning Colors and Materials
Presenters: Daniel Engel, Dylan Ebert
Nov 15
Exploring on Manifolds
Presenters: Rebecca Pankow, Matt Cooper
Nov 22
Project status report due
Nov 22
No class (Thanksgiving break)
Nov 29
Writing and Drawing (and More Manifolds)
Presenters: Vivek Ramanujan, Yu-An Lin
Dec 6
In-class project presentations
Dec 15
Final project report deadline
Learning Goals

Students who complete this course will:

  • Acquire skills and experience for critically reading and discussing technical research papers.
  • Develop techniques for giving engaging presentations of technical material.
  • Be familiar with a broad range of state-of-the-art uses of AI for visual content creation.
  • Build depth of knowledge in one technical area by conducting their own research projects.
  • Gain experience in how to organize, execute, and write up a collaborative, open-ended research project.
Grading Policy

Final grades in the class break down as follows:

  • 20% Reading summaries & discussion questions
  • 20% Presentation
  • 20% Discussion
  • 40% Final project

The subsequent sections of this page describe each category in detail.

Reading summaries & discussion questions

The ability to read an academic paper and distill its main insights and contributions into a concise form is a critical skill for researchers. Reviewers for journals and conferences are often asked to do just this. For example, here is the first prompt on the SIGGRAPH reviewer form:

"Briefly describe the paper and its contribution to computer graphics and interactive techniques. Please give your assessment of the scope and magnitude of the paper's contribution."

Each week, you will submit two such summaries, one for each paper that we read. In your summaries, focus on concisely capturing the problem the paper is trying to solve, its key insights and methodologies, and its main results. Briefly assess the extent to which the paper meets its own goals and state its limitations.

In addition, you will also submit at least two thoughtful questions you would like to have answered about the readings for our in-class discussion.

Finally, you will submit an idea for a research project that is related to / inspired by the readings. This can be an extension of one of the works described in the readings, a way to address limitations, an application of the methods described to a new problem, a different approach to solve the same problem, or anything else that comes to mind. Don't worry about whether your idea is "good enough" or spend a lot of time trying to perfect it---the point is for the class to generate lots of ideas and to refine them as as a group.

Reading respones, discussion questions, and research ideas are due by 10am of each class meeting day. Submit them using this form.


Each class session, students will given in-class presentations of the weekly assigned readings. Depending on enrollment, this may either be two ~30 minute presentations (one per reading), or one slightly longer presentation. Presenters should aim to communicate to the audience (i.e. the class) the problem(s) addressed by the work, the state of previous work in that area, the main insights and techniques used, the most important results, and any limitations or weaknesses. Presenters should also take some time to highly connections between the two readings for the week (and/or to readings from prevous weeks): how are they similar/different? Does one build upon or extend another? What are their relative strengths and weaknesses? The use of images/diagrams/videos/code demos from the work being presented is strongly encouraged.

Following each presentation, there will be a short (~10 min) period for the class to give the presenter feedback on what worked well with their presentation, what didn’t, and how it might be improved.

Students are strongly encouraged to do a "practice talk" before their in-class presentation. This can be as simple as sitting down with a friend / roommate / classmate and giving your presentation to them. Running through a presentation with an actual, live audience member can highlight issues with pacing, clarity, etc. that go unnoticed when you practice on your own. The instructor is also available in office hours to help students with their presentations.


After each presentation, the class will discuss the presented work as a group. All students are expected to have read both assigned papers and to be prepared to discuss them. The purpose of the discussion is to dig deeper into the papers presented: to clear up any confusions people may have about methods, evaluate strengths and weaknesses, and (especially) to brainstorm potential extensions and further experiments that may serve as the basis for final projects.

Each week’s discussion will have an assigned student moderator. The moderator is responsible for keeping the discussion on-topic, to ensure everyone who wants to speak has an opportunity to do so, and to introduce new topics from the list of student-submitted discussion questions. The Sheridan Center for Teaching and Learning offers tips on how to lead an effective group discussion.

Final project

During the course, students will also undertake a final project to be presented at the end of the term. Projects are open-ended: they may further investigate methods or results from one or more of the papers discussed, develop an extension to or address a limitation of one of these papers, or pursue a new idea involving the use of AI for content creation. Projects will be done in groups of 1-4 students, with the scope of the project calibrated appropriately for the group size. For general inspiration, I recommend Tom Funkhouser's "Five Principles for Choosing Research Problems in Computer Graphics" (talk video, slides).

Final project timeline:

  • Nov 3: Form project groups and propose projects. Project groups submit short proposals describing what they plan to do and how they plan to divide this work between group members. This step can be done sooner, if your group has a project in mind earlier in the term and wants more time to get it done.
  • Nov 22: Status report. A short report describing the progress your group has made, what steps remain to be done, and any challenges or issues your group currently faces.
  • Dec 6: Project presentation. Project groups present their results in class.
  • Dec 15: Final report. A short document in the style of the papers we have read throughout the course. Use the SIGGRAPH ("acmtog" article type) format. Use of LaTeX is strongly encouraged: if you are not yet familiar with it, learning it is a good investment in a tool you will use throughout your research career. Reports should also include an additional page describing each group member’s specific contributions to the project. This need not align perfectly with the project proposal (as research projects naturally change and adapt in response to new challenges).

See these guidelines for more detailed descriptions of what should be included in each of these milestones.

Time Commitment
Activity Hours
In class 26
Assigned readings 55
Summaries & questions 5
Presentation preparation 10
Project work 60+
Project proposal/write-ups/presentation 20
Office hours & out-of-class discussion 4
Total 180+
General Course Policies
Diversity & Inclusion

Our intent is that this course provide a welcoming environment for all students who satisfy the prerequisites. All members of the CS community, including faculty and staff, are expected to treat one another in a professional manner. If you feel you have not been treated in a professional manner by any of the course staff, please contact either the instructor (Daniel) or the department chair (Prof. Cetintemel). If you have a diversity issue, please contact Laura Dobler. We will take all complaints about unprofessional behavior seriously. Prof. Krishnamurthi has good notes on this area.

Brown welcomes students form all around the country and the world, and their unique perspectives enrich our learning community. To empower students whose first language is not English, and array of support is available on campus, including language and culture workshops and individual appointments. For more information, contact the English Language Learning Specialists at

Academic Integrity

Academic dishonesty will not be tolerated. This includes cheating, lying about course matters, plagiarism, or helping others commit a violation. Plagiarism includes reproducing the words of others without both the use of quotation marks and citation. Students are reminded of the obligations and expectations associated with the Brown Academic and Student Conduct Codes. For project work, feel free to build on third-party software, datasets, or other resources, as long as you credit them in your report(s) and clearly state what work is solely your own. As a general policy (for this course and for the rest of your academic career): if you use any idea, text, code, or data from elsewhere, then cite it.


Brown University is committed to full inclusion of all students. Please inform me if you have a disability or other condition that might require accommodations or modification of any of these course procedures. You may email me, come to office hours, or speak with me after class, and your confidentiality is respected. We will do whatever we can to support accommodations recommended by SEAS. For more information contact Student and Employee Accessibility Services (SEAS) at 401-863-9588 or

Mental Health

Being a student can be very stressful. If you feel you are under too much pressure or there are psychological issues that are keeping you from performing well at Brown, we encourage you to contact Brown’s Counseling and Psychological Services CAPS. They provide confidential counseling and can provide notes supporting extensions on assignments for health reasons.

Incomplete Policy

We expect everyone to complete the course on time. However, we certainly understand that there may be factors beyond your control, such as health problems and family crises, that prevent you from finishing the course on time. If you feel you cannot complete the course on time, please discuss with the instructor the possibility of being given a grade of Incomplete for the course and setting a schedule for completing the course in the upcoming year.

Thanks to Tom Doeppner and Laura Dobler for the text on accommodation, mental health, and incomplete policy.