iris@web home/blog/IMA_LowRes/Summer_2026/Cerative_Coding/week01__260712/ %

Week 01 – Introduction

P5 Strands

Link to Assignment

Stretch Goals

Many students in Creative Coding have never programmed before. Most are not familiar with P5.js. Very few have the comprehensive Computer Science education.

In this blog post I'll detail my plan to make the most out of this class for the next 3-4 weeks: what I plan to learn, how, and why.

Creative limits of tech

I ran into CPU bottlenecks in my very first creative coding works.

A still of digital/refraction

My first piece "digital/refraction" calculates the color of each pixel in a video feed depending on the size of a text buffer. The size of the buffer increases with each word in the performance, so over time the buffer grows closer to the size of the canvas and calculations come to a halt. "Calculating the color of each pixel" is the type of work that shaders do, so I knew as early as March 2025 that the type of work I was interested in making may require me to learn how to program shaders.

A still of Here,still

"Here, still" was inspired by the chaos of impatience in the face of silence. Particle interactions are the crux of the work, and the piece suffered greatly from having to limit the number of particles to 10,000. So my second piece, made for the August 2025 HTTPoetics workshop by SFPC, let me know that I would benefit from learning GPGPU shader techniques.

ShaderTwist Demo

I tried to teach myself fragment shader programming during my Winter 1 batch at Recurse Center by following The Book of Shaders. I learned the basics of graphics pipelines, GLSL, and the type of "shader art" people like to make for websites like ShaderToy. At RC, I got to demo a buddy protoype for ShaderTwist which is what I called my JS library designed to make it easy for me to make fragment shader sketches that I could control through MIDI.

The foray into shaders was fascinating, but I can't say it has been of any use in my art practice. Understanding this stuff is hard. Mastering it is much, much harder. So of course, I want to try my hand at learning it again, and most importantly, incorporating it into my practice.

Learning goals and style

When Ellen, my professor, reached out for me to detail my goals for the class, I listed a few considerations:

I also made some notes about my learning style:

Enter p5.strands

Is there an easier way to take advantage of shaders without the pain, trials, and tribulations of GLSL? The folks at Processing Foundation are trying to make it so with the upcoming 2.0 version of their popular creative coding library p5.js.

The p5.strands library is