A playable “floor” ocarina. A commentary on modern-day surveillance and technology. A growing tree with people’s memories as leaves.
What do they all have in common? These are some of the artworks featured in the annual CS 383 exhibit.
Fine 383/CS 383 is the Computational Digital Art Studio course, cross-listed with the University of Waterloo’s Fine Arts Department and the Cheriton School of Computer Science. At this unique intersection, students combine artistic practice with computer science principles, including generative agents, advanced computer vision, and distributed computing, to create original artwork.
Throughout the semester, students design three computational artworks, either screen- or audio-based. Their final project synthesizes their learning and is showcased in the course exhibition. This year, the exhibit took place on Thursday, April 2, at the University of Waterloo’s East Campus Hall (ECH) building.
What follows is a cross-section of artworks from the exhibit:
Desire Paths by Vedaant Varshney
Desire paths are unplanned trails, usually representing the shortest and easiest route. This behaviour can be seen in both human and animal behaviour, such as a student cutting across campus between classes or livestock making a trail to a water trough.
In Desire Paths, Vedaant Varshney explores this phenomenon through an abstract, animated cityscape. Buildings are represented as light gray blocks, while fences are rendered as translucent black barriers. There’s also a long, opaque gray strip presented as the conventional path. Audience members watch agents, depicted as Pac-Man-like dots, follow the path to reach their destination. However, it’s the least efficient route. Agents who forge their own way imprint a red streak. The brighter the hue, the more efficient the path.
With its rigid, grayscale design, Desire Paths explores the value of breaking away from authority. The conventional yet inefficient route shows how rules set by authorities may not reflect the needs of a community. Characters who paved their own path are often followed by others, symbolizing how individuals have the power to bring collective change.
What’s key to this design is grid-based algorithms, which divide data space into grid-like blocks to optimize space and efficiency. This algorithm helps the agents forge their “desire paths.”
Floor Carina by Jeannie Zhang
East Campus Hall had its own symphony thanks to Jeannie Zhang and her ocarina. However, rather than using the traditional wind instrument, she created a virtual ocarina playable as a 3D projection.
When a participant steps on the ocarina’s holes and blows into a microphone, a flute-like tone plays, sampled from Ableton’s sound library. Higher notes require more than one participant, encouraging community engagement and connection.


To bring her art to life, Jeannie used projection mapping, a technique that displays video content onto real-world surfaces. She projected her drawing onto a mirror, which was then reflected on the floor, scaling the ocarina to accommodate four people standing side-by-side.
She also used BodyPose, a machine-learning model for body tracking, which operated on video from a webcam. In Floor Carina, the notes are activated when the system senses a combination of detected foot placements and microphone input.
As I Was Saying by Wilbur Zhang
Our reliance on technology can make us forget that it can be exploited maliciously. A key example is the internet, originally envisioned as a decentralized system that is now influenced by both corporate control and state regulation.
This interactive installation aims to “un-mythologize” technology. Two retro phones lie at opposite ends of a table, inviting visitors to chat. However, their conversation is delayed by one message using signal jamming. When Person A is speaking, their dialogue is recorded and stored in a buffer. Person B will receive the original message only when Person A starts talking again, and vice versa. These jammed signals and delays cause participants to suspect an eavesdropper.

As I Was Saying reminds users of the underlying infrastructure and government bodies can control everyday technology.
Wilbur Zhang created this installation by connecting the phone to a laptop that’s placed in a black crate in the middle of the table. He also used a machine learning model for speech detection. Once the code detects ten frames of silence, it stops recording and plays the previous message to the user.
Vetobrain by Niko Forsyth
Inspired by the teachings of Marie Kondo and the East Asian philosophy of feng shui, Vetobrain explores how a person’s home is a manifestation of their mind.
Reminiscent of the Sims game, Vetobrain invites participants to maintain an apartment by voting on certain tasks or chores. These prompts include getting out of bed, completing homework, or feeding pets. A single “no” acts as a veto. After multiple rounds of voting, the once spotless apartment becomes messy and cluttered, with mountains of laundry, wilted plants and rotted food.
A group of participants voting on tasks in Vetobrain, where all is one but none is all.
Vetobrain visualizes decision-making under depression, where even mundane tasks become sources of internal conflict. The easiest solution? Take no action. The voting system symbolizes this thought process. Each voter represents a part of our mind that wants to decide but disagrees with the rest. The veto machine represents inaction.
Niko created Vetobrain by animating a 3D apartment in JavaScript with WebGL rendering. The live poll is enabled by a Node.js server and sockets, allowing audience voting via a QR code on their phone.
Shooting Hearts by Laith Bahodi
This animation opens with a red three-dimensional heart pulsing against a pink background. Suddenly, the heart beats erratically, and black triangular meshes take over. The heart becomes lifeless. It looks translucent, as the only colours present are the meshes’ outlines and the heart’s border. Gradually, the meshes are recoloured, symbolizing the heart’s reincarnation. Then, this cycle repeats.
Laith Bahodi explores the concept of “giving up” and how love can help us during times of despair. The heart symbolizes a person, with the coloured sections representing their hope and energy. When faced with despair, the heart loses colour. As the person regains hope, the heart is refilled. Sometimes, these colours are random, like green or yellow, representing the randomness of love, such as romantic, familial, or platonic.
This constant reincarnation demonstrates how hope and despair are inevitable and never-ending — but so is love.
Shooting Hearts is entirely coded: Laith used Taubin’s equation to create the heart-shaped mesh. Each triangle in the mesh is an AI agent that’s coded to “beat,” “die,” and “revive.”
Near and Deer by Yujin Bae
When participants watch Near and Deer, they see letters cascade like raindrops. Slowly, the letters form a subtle silhouette of a deer slowly prancing across the screen.
At a glance, the exhibit exudes innocence and tranquillity with its raindrops and the Bambi-like illusion. When participants take a closer look, they will notice that letters are part of a sentence that’s broken down into raindrops. These phrases include strong opinions or aggressive remarks taken from Reddit’s most controversial comments of the hour from debate-heavy forums.
This piece analyzes the concepts of peace, violence, chaos, and simplicity within the real and online worlds. Contrasting a deer, a symbol of innocence, with controversial web forums, Near and Deer reminds visitors how different online spaces are from the world we inhabit.
Near and Deer was created with hand-drawn illustrations and letter agents, which pull phrases from Reddit’s API and work together to put these components into animation.
Memory Tree by Aastha Parmar
After taking psychology courses as part of her breadth requirements, Aastha Parmar became interested in the limits of human memory. Inspired, she designed Memory Tree, which depicts a growing tree.
The installation invites visitors to send a personal memory via a QR code, which is turned into a leaf. As a new memory is submitted, one of the leaves turns yellow and falls.
When most of the memories are positive, the sun shines, birds fly, flowers sprout, and the music is calming. When the overall sentiment feels negative, rain will start pelting, the sky turns grey, and thunder rumbles.

Aastha was inspired by “emotional contagion,” a phenomenon where a person’s feelings can spread in a group. By sharing everyone’s memories, Memory Tree exudes a collective and reflective feeling.
Aastha developed Memory Tree by running a client-server system, where the client renders the animation while the server handles the memory submissions, storage and live updates. Also key to this system is a deep learning model called Bidirectional Encoder Representations from Transformers (BERT) model. Commonly used in translation and text classification, BERT models can understand complex nuances within the human language. Here, the model analyzes every submission to determine the overall sentiment of the memories.