
Creative Coding
Learn to Code for Art, Media and Culture (Jan 2026)
Course page reconstructed from Postgres and Bunny.
Watch a preview
1.0 Welcome to the course!
Course overview
Course content
Session 1: Intro to p5.js & JavaScript Basics
Zoom link Tuesday 2nd September 4pm UK • 1.0 Welcome to the course! • 1.1 Introduction to JavaScript • 1.2 "Hello, JavaScript!": variables, data types, console.log() • 1.3 Introduction to p5.js • 1.4 Using variables and operators in p5.js • 1.5 Homework
+
Session 1: Intro to p5.js & JavaScript Basics
Zoom link Tuesday 2nd September 4pm UK • 1.0 Welcome to the course! • 1.1 Introduction to JavaScript • 1.2 "Hello, JavaScript!": variables, data types, console.log() • 1.3 Introduction to p5.js • 1.4 Using variables and operators in p5.js • 1.5 Homework
- Zoom link Tuesday 2nd September 4pm UK
1.0 Welcome to the course!
Checking access...1.1 Introduction to JavaScript
Checking access...1.2 "Hello, JavaScript!": variables, data types, console.log()
Checking access...1.3 Introduction to p5.js
Checking access...1.4 Using variables and operators in p5.js
Checking access...1.5 Homework
Checking access...
Session 2: Control Flow, Conditionals & Loops
Zoom call Wednesday 3rd September • Zoom recording • 2.0 Introduction • 2.1 Environment Setup • 2.2 The Boolean type • 2.3 Conditionals and if statements in practice • 2.4 For Loops • 2.5 Grid Hands-On Excercise
+
Session 2: Control Flow, Conditionals & Loops
Zoom call Wednesday 3rd September • Zoom recording • 2.0 Introduction • 2.1 Environment Setup • 2.2 The Boolean type • 2.3 Conditionals and if statements in practice • 2.4 For Loops • 2.5 Grid Hands-On Excercise
- Zoom call Wednesday 3rd September
Zoom recording
Checking access...2.0 Introduction
Checking access...2.1 Environment Setup
Checking access...2.2 The Boolean type
Checking access...2.3 Conditionals and if statements in practice
Checking access...2.4 For Loops
Checking access...2.5 Grid Hands-On Excercise
Checking access...
Session 3: Functions & Organizing Code in p5.js
Zoom call, Friday 5th September • 3.1 Functions in JavaScript: declarations, parameters, return values • 3.2 Variable scope • 3.3 Best practice: writing clean functions • 3.4 Hands-On Practice: Improve with helper function • 3.5 Advanced Technique: Recursive Functions • Homework
+
Session 3: Functions & Organizing Code in p5.js
Zoom call, Friday 5th September • 3.1 Functions in JavaScript: declarations, parameters, return values • 3.2 Variable scope • 3.3 Best practice: writing clean functions • 3.4 Hands-On Practice: Improve with helper function • 3.5 Advanced Technique: Recursive Functions • Homework
- Zoom call, Friday 5th September
3.1 Functions in JavaScript: declarations, parameters, return values
Checking access...3.2 Variable scope
Checking access...3.3 Best practice: writing clean functions
Checking access...3.4 Hands-On Practice: Improve with helper function
Checking access...3.5 Advanced Technique: Recursive Functions
Checking access...Homework
Checking access...
Session 4: Arrays, Objects & Classes
Zoom call, Tuesday 9th September • Zoom Recording • 4.1 Arrays and array methods in JavaScript • 4.2 Basic objects and classes • 4.3 Managing multiple elements (with bouncing balls) • 4.4 Hands-On Exercises (with more bouncing balls!) • Cellular Automata Bonus Video
+
Session 4: Arrays, Objects & Classes
Zoom call, Tuesday 9th September • Zoom Recording • 4.1 Arrays and array methods in JavaScript • 4.2 Basic objects and classes • 4.3 Managing multiple elements (with bouncing balls) • 4.4 Hands-On Exercises (with more bouncing balls!) • Cellular Automata Bonus Video
- Zoom call, Tuesday 9th September
Zoom Recording
Checking access...4.1 Arrays and array methods in JavaScript
Checking access...4.2 Basic objects and classes
Checking access...4.3 Managing multiple elements (with bouncing balls)
Checking access...4.4 Hands-On Exercises (with more bouncing balls!)
Checking access...Cellular Automata Bonus Video
Checking access...
Session 5: Interactive Sketches & Basic Animation
Zoom call, Friday 12th September • 5.0 Introduction to Interactivity • 5.1 Glossary Update • 5.2 Callbacks • 5.3 p5.js Events • 5.4 More events
+
Session 5: Interactive Sketches & Basic Animation
Zoom call, Friday 12th September • 5.0 Introduction to Interactivity • 5.1 Glossary Update • 5.2 Callbacks • 5.3 p5.js Events • 5.4 More events
- Zoom call, Friday 12th September
5.0 Introduction to Interactivity
Checking access...5.1 Glossary Update
Checking access...5.2 Callbacks
Checking access...5.3 p5.js Events
Checking access...5.4 More events
Checking access...
Session 6: Working with External Library - ML5
Zoom call, Tuesday 16th September • Zoom Recording • Useful Links
+
Session 6: Working with External Library - ML5
Zoom call, Tuesday 16th September • Zoom Recording • Useful Links
- Zoom call, Tuesday 16th September
Zoom Recording
Checking access...- Useful Links
- Code Example
Session 7: Data and APIs
Zoom call, Friday 19th September • Zoom Recording • Useful Links
+
Session 7: Data and APIs
Zoom call, Friday 19th September • Zoom Recording • Useful Links
- Zoom call, Friday 19th September
Zoom Recording
Checking access...- Code Example
- Useful Links
Session 8: Working with Image & Pixels
Zoom call, Friday 26th September • Zoom Recording • Useful Links
+
Session 8: Working with Image & Pixels
Zoom call, Friday 26th September • Zoom Recording • Useful Links
- Zoom call, Friday 26th September
Zoom Recording
Checking access...- Code Example
- Useful Links
Session 9: More Data & Optimization
Zoom call, Monday 29th September • Zoom Recording • Useful Links
+
Session 9: More Data & Optimization
Zoom call, Monday 29th September • Zoom Recording • Useful Links
- Zoom call, Monday 29th September
Zoom Recording
Checking access...- Code Example w/ Starter Code
- Useful Links
Instructors

