This is a non-comprehensive list of resources for venturing into creative code and software tools that brush up against creative code. The resources shared here have (mostly) been vetted or tested before adding. This is not a gaurantee that they'll work on your machine 😉.
This is a living document. Resources will go out of date; new resources will be added. For now, most of these resources are related to the learn2code workshop held on June 15, 2025. More resources will be added!
-
HTML + CSS + JavaScript: for web-based projects. Node.js for working with web servers.
-
p5.js: for creative coding on the web. Can be used for interactive installations, but is best used on the web.
-
Visual Studio Code: a text editor for building your coding projects. Use this to work on your web code (HTML + CSS + JS), Python, or other types of coding projects.
-
Python: for all sorts of things. Good for simple scripts for processing data, images, video, etc. Heavily used in AI/machine learning, and is the scripting language for tools like TouchDesigner and Blender. Mac computers come with Python pre-installed, but different projects will require different versions. You'll want to familiarize yourself with Python Environments before working with Python.
-
TouchDesigner for generative/interactive installations and realtime performances.
-
Arduino (the programming language) for programming microcontrollers.
-
Max for interactive installations and realtime performances that are geared towards sound synthesis.
-
git + GitHub for managing your coding projects, using open source code repositories in your projects, and hosting free static websites. Use the GitHub Desktop app for beginner-friendly GitHub repository management.
-
Unity + C# for working with game engines (Unreal Engine and C++ are also available, but classes in our department focus on Unity and C#)
-
Git and GitHub for Poets – The Coding Train – Learn how to use git and GitHub (whether or not you are a poet).
-
Command Line Crash Course For Beginners - Terminal Commands – Traversy Media – Learn to use the command line/Terminal. This is an extremely useful skill!
-
Start learning here! – The Coding Train – Beginners! Learn all the basics of code (variables, conditionals, loops, objects, arrays) in JavaScript with p5.js!
-
Beginners Guide to Machine Learning in JavaScript – The Coding Train – some of the videos in this playlist are outdated. The following more recent videos use the updated ml5.js library, and are more likely to work.
-
TouchDesigner Tutorial: Beginner Crash Course – The Interactive & Immersive HQ – Great place to start to learn the basics of TouchDesigner. Start here before venturing out to more specific/advanced tutorials.
-
Hand Tracking in TouchDesigner - Master Class Part 1 – Torin Blankensmith
-
Hand Tracking in TouchDesigner - Master Class Part 2 – Torin Blankensmith
-
Hand Tracking in TouchDesigner - Master Class Part 3 – Torin Blankensmith
-
TouchDesigner - IF statements and basic Python (Script CHOP) - Synthetic_Future – Bring basic if-statements and coding logic with Python into TouchDesigner
- freeCodeCamp.org - a great free resource with an abundance of hands-on lessons for a variety of coding languages and development contexts
- The Nature of Code by Daniel Shiffman - an intermediate to advanced book covering math and coding concepts for simulating natural systems in code. The book uses p5.js, but these principles can be implemented in other languages. Includes some video tutorials.
-
The Coding Train with Daniel Shiffman - an incredible resource for learning creative code through p5.js
-
Patt Vira - great standalone creative coding (and some physical computing) tutorials. A wide variety of beginning to advanced lessons.
-
The Interactive & Immersive HQ – Excellent TouchDesigner lessons and tutorials
-
Torin Blankensmith – TouchDesigner, body tracking
- Kevin Powell – Super up-to-date tutorials on HTML and CSS (mostly CSS). Great place to learn general web design and development
- GitHub Desktop - a simple desktop app to help you manage your GitHub repositories without using the command line
- Visual Studio Code (VS Code) - A text editor for working on your coding projects
- FFmpeg – A command line tool for editing and exporting video. Good for batch processing multiple video files quickly, without needing to use something like Adobe Premiere.
- Obsidian – A lightweight, markdown-based note-taking and "knowledge management" app. Highly customizable, can be used to create simple or complex note-taking systems. All files are stored locally (unlike cloud-based services like Notion or Google Docs)
- 4K Video Downloader – For downloading YouTube videos (it's nicer than using those ad-filled YouTube downloader websites)
- p5.js – Creative coding for the web. Based on the Processing programming language
- q5.js – A GPU-optimized version of p5.js that may make some of your sketches run faster. The syntax is very similar to p5.js
- A-Frame – A simple, more approachable 3D graphics library. Good for building WebVR and WebXR websites.
- three.js – 3D graphics and effects in the browser. Built on top of WebGL. three.js is an advanced library.
- matter.js – Physics library for the web
- p5.plotSvg - Generate SVG files in p5.js to be plotted on a pen plotter
- ml5.js – Machine learning for the web. Works well with p5.js
- MediaPipe – a multi-platform machine learning library designed for efficiency in order to run on low-power devices
- MediaPipe TouchDesigner Plugin – created by Torin Blankensmith. See their hand-tracking tutorial.