Department of Kinetic Imaging · VCU
Creative Code & Electronics
Info
Description
An introduction to the concepts and techniques found within programming languages and electronics as applied to digital art making. Basic coding for creative practice, from visuals to sound and interactivity, will be examined, as well as circuitry and hardware components for DIY projects.
2 lecture + 4 studio hours. 4 credits.
Learning Outcomes
Introductory computational concepts and terminology · Basic electronics and circuitry for interactive artworks · Programming languages for creative coding · Algorithmic processes for composition across media
Assessment
Exercises, quizzes & participation50%
Creative Coding Project (p5.js)25%
Hardware Project (Arduino / CPX)25%
Schedule **topics subject to change**
Week 1Jan 13–15
Creative Coding / Intro to p5.js
What is creative coding? Shapes, drawing, colors, mouseX/mouseY
↳ Drawing app & Introduce Yourself Due
What is creative coding? Shapes, drawing, colors, mouseX/mouseY
↳ Drawing app & Introduce Yourself Due
Week 2Jan 20–22
Variables & Animation
Draw then code · Variables and operators · Simple Animation
↳ Quiz 1 · Draw then Code Due
Draw then code · Variables and operators · Simple Animation
↳ Quiz 1 · Draw then Code Due
Week 3Jan 27–29
Conditional Statements
Intro to conditionals · Review · Intro to loops
↳ Quiz 2 · Quiz 3
Intro to conditionals · Review · Intro to loops
↳ Quiz 2 · Quiz 3
Week 4Feb 3–5
Loops & Arrays · Iteration and Patterns
Conditional review · Loops, arrays · Work on Iteration and Patterns
Conditional review · Loops, arrays · Work on Iteration and Patterns
Week 5Feb 10–12
Crit · Sounds & Events
Work day · Dean Moss artist talk at ICA · In-class crit · p5.js Sounds · Keyboard + Mouse Events
↳ Iteration and Patterns Due
Work day · Dean Moss artist talk at ICA · In-class crit · p5.js Sounds · Keyboard + Mouse Events
↳ Iteration and Patterns Due
Week 6Feb 17–19
Objects
p5.js — Objects · Constructor arguments with classes
p5.js — Objects · Constructor arguments with classes
Week 7Feb 24–26
Project I — Proposals
Creative Code Project Proposal Presentations · No class Thu — work on Project I
Creative Code Project Proposal Presentations · No class Thu — work on Project I
Week 8Mar 3–5
Work on Project I
Studio time (instructor in classroom Mon 10am–noon) · No class Thu
Studio time (instructor in classroom Mon 10am–noon) · No class Thu
Week 9Mar 10–12
No class — Spring Break
Week 10Mar 17–19
Creative Code ProjectDue
Studio time Mon · In-class crits Thu
Studio time Mon · In-class crits Thu
Week 11Mar 24–26
Intro to Creative Electronics
Physical computing · What is a microcontroller? · How is it used in digital artworks? · Arduino "Hello World"
↳ Order Adafruit Circuit Playground Express ($24.95) · Quiz 4
Physical computing · What is a microcontroller? · How is it used in digital artworks? · Arduino "Hello World"
↳ Order Adafruit Circuit Playground Express ($24.95) · Quiz 4
Week 12Mar 31–Apr 2
Arduino Sensors · Communication Protocols
How do microcontrollers interact with the world? · Open Source Tools · p5.js + Arduino serial communication
↳ CPX and ArduinoDue
How do microcontrollers interact with the world? · Open Source Tools · p5.js + Arduino serial communication
↳ CPX and ArduinoDue
Week 13Apr 7–9
Arduino & TouchDesigner · Final Project
Arduino and TouchDesigner · Group Discussion · Final Project Proposal Presentations
Arduino and TouchDesigner · Group Discussion · Final Project Proposal Presentations
Wks 15–16Apr 14–23
Final Project — Work Time
No class — Work on final project (available by email / Zoom)
No class — Work on final project (available by email / Zoom)
Week 17Apr 28–30
Final ProjectDue
Work Tue · In-class crits Thu
Work Tue · In-class crits Thu
Resources
p5.js — Creative Coding
- p5js.org — documentation & reference
- editor.p5js.org — web editor write and run sketches in the browser, no install needed
- The Coding Train — video tutorials Daniel Shiffman's beginner-friendly series on p5.js & creative coding
- p5.js Libraries — p5.sound, p5.Riso, and more
Arduino — Physical Computing
- arduino.cc — main site
- Arduino IDE — download
- Getting Started with Arduino
- Arduino Language Reference
Required: Adafruit Circuit Playground Express
adafruit.com/product/3333 · $24.95
adafruit.com/product/3333 · $24.95
Required Reading
- Arslan, Engin. Learn JavaScript with P5.js. Apress, 2018. Available as e-book from VCU Library
- Hughes, J. M. Arduino. O'Reilly Media, 2016. Available as e-book from VCU Library
- Maeda, John. Creative Code. Thames & Hudson, 2004.
- Blum, Jeremy. Exploring Arduino. 2013.
Context & Community
- School for Poetic Computation (SFPC) Artist-run school exploring code, hardware, theory, and poetics
Student Work — Spring 2026 click name to open sketch
Exercise — Iteration & Pattern
Tiling pattern or textural composition using loops, conditionals, and
randomness
Creative Coding Project
Create an interactive animation, narrative, or game using p5.js
Hardware Project — Microcontroller
Create an interactive project using sensing, actuation, or both. Documentation
includes code, video, and written explanation.
| Brock Badillo, Juliana Hinson & Haadi | — |
| Andrew Messick & Minuet Curry | — |
| James West | View project → |
| Camerin McManus | View project → |
| An Huynh | View project → |
| Ailidh McKay | View project → |
| Avery Stephenson | View project → |
| Jitong Li | View project → |
| Ariela Ridgley | View project → |
| Jordan Pollard | View project → |
| Maggie Gercken & Leighton | View project → |