Computational Art and Design
- 01 | Introduction
- 02 | If This Then That
- 03 | Loops & Arrays
- 04 | Working with Media
- 05 | 2D Transformations & Functions
- 06 | Objects & Classes
- 07 | No Class (workshop week)
- 08 | Advanced Animation, DOM Elements
- 09 | Working with Data
- 10 | Machine Learning | Project Proposals
- 11 | Websockets & Pen Plotters
- 12 | Project Work
- 13 | Project Work
- Absence Compensation
- Debugging
- Final Project
- Next Steps
- Showcase
Important links
- MyCourses page (2026)
- Our OpenProcessing class
- p5js Home
- p5js Editor
- p5js Reference
- W3 Schools JavaScript Tutorials
Course Book
Other Resources
- Awesome Creative Coding
- Nature of Code
- Critical Coding Cookbook
- Programming Design Systems - Online Book
- The Art of Computer Designing
- Generative Gestaltung
Content
This course introduces creative coding not just as a tool but also as a creative medium in itself. The course consists of joint lectures for all students and additional excercise groups that students choose based on their previous experience, skill level, and interests.
Topics covered in the course:
- Historical and contemporary examples of computational art and design
- The role of computation in interactive, generative, and immersive artworks
- Fundamental computational thinking
- Data types and structures
- Flow control statements (loops, conditional execution)
- Basics of object-oriented programming
- Best practices (commenting, formatting, structuring)
Learning Outcomes
On successful completion of this course, students will be able to:
- Apply their technical knowledge and skills in computational art and design to create artworks, experiences, services, tools, and other creative productions.
- Apply basic programming concepts and techniques, such as variables, functions, flow control, comments, types, objects and arrays.
- Describe, discuss, and demonstrate uses of code as a creative medium.
Course Schedule 2026
Week 1 | Introduction
| TIME | MON 31/08 | TUE 01/09 | WED 02/09 | THU 03/09 | FRI 04/09 |
|---|---|---|---|---|---|
| 09:15–12:00 | Drawing with Code | Animating with Code | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 | Lecture: Introduction |
Week 2 | If This Then That
| TIME | MON 07/09 | TUE 08/09 | WED 09/09 | THU 10/09 | FRI 11/09 |
|---|---|---|---|---|---|
| 09:15–12:00 | Conditional Statements | Conditional Statements | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 | Lecture: History of programming |
Week 3 | Loops & Arrays
| TIME | MON 14/09 | TUE 15/09 | WED 16/09 | THU 17/09 | FRI 18/09 |
|---|---|---|---|---|---|
| 09:15–12:00 | Loops | Arrays | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 | Lecture: Interactive art |
Week 4 | Working with Media
| TIME | MON 21/09 | TUE 22/09 | WED 23/09 | THU 24/09 | FRI 25/09 |
|---|---|---|---|---|---|
| 09:15–12:00 | Working with Media | Sound Visualizations | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 | Lecture: Generative art and design |
Week 5 | Functions
| TIME | MON 28/09 | TUE 29/09 | WED 30/09 | THU 01/10 | FRI 02/10 |
|---|---|---|---|---|---|
| 09:15–12:00 | Functions | Functions | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 | Lecture: Hard and soft ware |
Week 6 | Objects & Classes
| TIME | MON 05/10 | TUE 06/10 | WED 07/10 | THU 08/10 | FRI 09/10 |
|---|---|---|---|---|---|
| 09:15–12:00 | Objects & Classes | Objects & Classes | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 | Lecture: AI/Machine Learning in Art and Media |
Week 7 (Workshop week)
| TIME | MON 12/10 | TUE 13/10 | WED 14/10 | THU 15/10 | FRI 16/10 |
|---|---|---|---|---|---|
| 09:15–12:00 | |||||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 |
Period II
Week 8
| TIME | MON 19/10 | TUE 20/10 | WED 21/10 | THU 22/10 | FRI 23/10 |
|---|---|---|---|---|---|
| 09:15–12:00 | Advanced Animation | DOM Elements | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 |
Week 9
| TIME | MON 26/10 | TUE 27/10 | WED 28/10 | THU 29/10 | FRI 30/10 |
|---|---|---|---|---|---|
| 09:15–12:00 | Working with Data | Working with Data | FFT | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 |
Week 10
| TIME | MON 02/11 | TUE 03/11 | WED 04/11 | THU 05/11 | FRI 06/11 |
|---|---|---|---|---|---|
| 09:15–12:00 | TBA | Project Proposals Presentations | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 |
Week 11
| TIME | MON 09/11 | TUE 10/11 | WED 11/11 | THU 12/11 | FRI 13/11 |
|---|---|---|---|---|---|
| 09:15–12:00 | Working with Hardware (serial, OSC) | Machine learning with ml5.js | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 |
Week 12
| TIME | MON 16/11 | TUE 17/11 | WED 18/11 | THU 19/11 | FRI 20/11 |
|---|---|---|---|---|---|
| 09:15–12:00 | 3D | Project Work and Tutoring | Project Work and Tutoring | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 |
Week 13
| TIME | MON 23/11 | TUE 24/11 | WED 25/11 | THU 26/11 | FRI 27/11 |
|---|---|---|---|---|---|
| 09:15–12:00 | Project Work and Tutoring | Project Work and Tutoring | |||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 | Lecture: AI/ML & Art |
Week 14 (Workshop Week)
| TIME | MON 30/11 | TUE 01/12 | WED 02/12 | THU 03/12 | FRI 04/12 |
|---|---|---|---|---|---|
| 09:15–12:00 | |||||
| 12:00–13:00 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 | 🥗🍜🍱🍝🍕 |
| 13:15–15:00 | |||||
| 15:15–17:00 |