Department of Kinetic Imaging · VCU

Creative Code & Electronics

Spring 2026 Tu & Th  9:30 am – 12:20 pm Franklin Terrace 109 ShanMu Sun  ·  sunw2@vcu.edu Office hours by appointment

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
Week 2Jan 20–22
Variables & Animation
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
Week 4Feb 3–5
Loops & Arrays · 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
Week 6Feb 17–19
Objects
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
Week 8Mar 3–5
Work on Project I
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
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
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
Week 13Apr 7–9
Arduino & TouchDesigner · Final Project
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)
Week 17Apr 28–30
Final ProjectDue
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
Required: Adafruit Circuit Playground Express
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

Student Work — Spring 2026  click name to open sketch