Final Project


Select from the following options for a final project:

  1. Create a new computational tool for visual art or design expression (animation can be included as well) that *does not* require programming in Processing to use. The tool must contain the following elements: 1) a user interface, 2) A set of interactions that enable creating visual forms or patterns, 3) A set of interactions that enable editing visual forms and patterns, 3) a set of example compositions created with the tool. Optional: 4) the ability to export out compositions created in the interface.

Example Projects:

Sam Bourgault's Megafauna
Jungah Son's
Emotive recoloring tool (PDF presentation)

  1. Create a series of generative works: Write an algorithm that creates a series of generative works (minimum 3, maximum 10). Document your process of designing the algorithm, including your initial goals and objectives, challenges, and criteria for selecting the final works in the series.

Example Student Projects:

Sonia Hashim's Floral Dutch Painting Series: Video, Project Description
Stejara Dinelescu's
GAN exploration

  1. Create a programming library for Processing (or another programming language of your choice). The library must enable people to perform a set of operations in Processing that are currently not possible, or non-trivial with the standard Processing language. Alternatively, your library could enable people to work with Processing in a different way or through a different set of abstractions. It should not replicate the functionality of any existing user contributed libraries. Your library must include a set of at least 4 example projects, and a full documentation for all methods that are exposed to the user.

Ari Gilmore's Waveform library

  1. Choose your own adventure: Propose an alternative final project.

Write a short proposal for your final project based on one of the options, due March 2nd.

You may propose one idea, or several different possibilities. Projects may be collaborative. If you plan to work with other members of the class, describe how you plan to organize the work across the members of the team members.

Upload your project description to Github before class on Tuesday March 2nd under a new directory entitled "FinalProject". See Sihwa Park's proposal from last year's class as an example: https://github.com/CSVAD/sihwa/tree/master/finalProject

Proposals will be presented in class on March 2nd (see schedule detail). Proposals should be edited based on peer and instructor feedback, due by March 4th.

Final project critiques will take place on Thursday, March 11th.

All final project materials are due on Tuesday, March 16th.

Materials include:

  1. Full project source code uploaded to Github

  2. Any presentation materials used for in class presentation uploaded to google drive

  3. Approx. 1000 word written project description and reflection which includes a description of the original project goal, the final result, challenges and limitations of your piece, and possible next steps/ future work, uploaded to google drive as a google doc or PDF

  4. Approx. 250-500 word course self assessment. In your assessment, describe how you felt you performed in the class, what you did well and possible areas for growth. Touch on the specific components of the course (weekly assignments, reading reflections, participation, final project) as appropriate uploaded to google drive as a google doc or PDF.

Critique Requirements


Each student or project group should prepare a 10 minute presentation on their final project for the day of the critique. Following the 10 minute presentation, there will be 10-15 minutes for questions and feedback from the class and reviewer(s).

The presentation should include the following elements:

  • Product - i.e. what you made:
    Show images, videos, or a live demonstration of your final project. Choose a form that best corresponds with highlighting the key elements of your project. If you produced a generative series, Note that if you opt for a live demonstration, it's usually a good idea to have backup recorded footage of a successful run since bugs and crashes happen.

  • Concept and Motivation - i.e why you made it:
    Clearly describe your project idea and the motivation behind it. This may include, but is not limited to - the kinds of art or design ideas you were seeking to express, the types of people you were interested in supporting, and specific technical challenges you were attempting to take on. If your idea builds off or is inspired by prior work, describe how your work extends or differs from what has been done before.

  • Process - i.e. how you made it:
    Provide an overview of the process you took in completing your final project. This should include the following: 1) a discussion of specific challenges you encountered during the process and how you addressed them, 2) how your concept and motivation evolved throughout the course of working on the project, and 3) what you learned through the process. For projects that focus on a particular algorithm (generative series, ML based approaches, etc.) your discussion of process should include an overview of your algorithm functionality.

Additional Notes

The format of your presentation is up to you. You can choose to create slides, a video, or an html or markdown document with images and text. The only requirement is that you upload your presentation to Github in some form.


Keep in mind that presentation of your project and results is a component of the final project assignment.

Make sure to plan in advance for preparing the presentation and ensuring it fits into the allotted time.


Plan time for documentation, both during the project creation, and at the end of project completion.

See Hannah Perner Wilson's website for examples of masterful process documentation.

Note: Hannah primarily focuses on physical products but the overall concept is the same


The goal of the critique session is for the class to give and receive constructive feedback. The clarity of your presentation will directly impact the quality of feedback you receive in the final critique. Similarly, being present for your classmates presentations and offering constructive and thoughtful feedback is an important contribution.