Teaching Creative Coding in Design – a Philosophy

The idea of Design and the profession of the designer has to be transformed from the notion of a specialist function into a generally valid attitude of resourcefulness and inventiveness which allows projects to be seen not in isolation but in relationship with the need of the individual and the community. […] Ultimate all problems of design merge into one great problem: “design for life”.
(Moholy-Nagy, 1947)
A basic Vocabulary
Design Schools should be places for free thinking, innovation and demonstration. In many design programs, this potential is often obscured by a fatal superficial focus on visual aesthetics. By teaching Creative Coding, I offer a meaningful, system-level approach to arts and design education that sheds light on the obscured structures of everyday technology: software and hardware. Creative Coding acts as a basic vocabulary and therefore belongs into the core of the curriculum.
I Teach the Basics
The fabric of any software system is woven from a common thread. Whether simple or complex, almost all programming languages rely on the same fundamental building blocks: functions, loops, variables, and conditional statements. My curriculum centers on these “Four Pillars” to serve as a portal into the world of computation.
Processing and p5.js
I teach Creative Coding and I mainly use two languages for that. Processing, based on Java and p5.js, based on Javascript. Both languages are very similar and share three properties, that make a great programming framework for creative people. They are easy to learn, they offer a vast spectrum of creative possibilities and media outputs, and they can be used to develop professional applications.
Self-Imposed Limits
In the creative process, self-imposed limitations act as positive catalysts for innovation and deep learning. Embracing constraints allows designers to focus on a specific spot, rather than getting lost in infinite possibilities. Limits lead to a profound elegance and sharp creative focus.
Custom Software
I empower my students to build their own simple tools rather than relying on existing software. We strive to break dependencies to big tech and create clever, simple alternatives. Through building custom tools, we break out of the design and workflow funnels of proprietary software and build our own.
Slow is Beautiful
Friction and slowness are not obstacles; they are reliable indicators of personal growth. If a task feels difficult, it simply means that learning is happpening. I encourage students to embrace a slow pace, recognizing that the most profound insights often emerge from moments of friction.
Demystify Technology
Learning to code allows us to look through the shiny surfaces and open the black boxes of everyday technology. Code is the ideal language for investigating these complex structures, simply because it’s essentially the material they consist of. By learning the underlying logic, we transform ourselves from users to makers.
A deep Craft
Mastering Creative Coding is a deep craft, much like learning the piano. It is difficult and it takes years to master it.
Climbing the Wall
The first steps into coding must be gentle. When a student first feels resonance with this craft, they are vulnerable. This early spark is bright but fleeting. I view my role as a guide who provides the necessary support to help every student overcome the initial barriers of entry. I often compare the early learning process with climbing a wall: up there they see the sacred land of possibilities. My job is to cup my hands to form a stirrup.
On AI
AI bloats codebases, making them complicated and sometimes impossible to debug. This is especially frustrating for beginners and sometimes it is precisely this disappointment that prevents them from continuing. A naive reliance on AI creates one big and dangerous dependency. It’s like marrying an LLM. Nevertheless I do not actively discourage my students to using AI. Rather, I try to give them a space in which they can critically engage with the questions themselves.
Related
I don’t use Apple and Adobe anymore
Edit: Sarah Schröerlücke This video about my transition from proprietary software and hardware to Open Source software is one of […]
CodeCrafted
When I completed my bachelor’s degree in 2013, coding was considered a marginal topic. There was a dark spirit at […]
Is my Instagram profile shadowbanned?
I am asking myself: Is my Instagram channel possibly shadowbanned? Since I speak out more clearly against the cheeky, shady […]
Below is the written version of my talk at DEMO Festival in Amsterdam, January 2025. I’ve also recorded an audio […]
Design is dead – long live Design!
I have been observing developments in design for 40 years. That may sound strange, as I’m only forty myself, but […]
I am writing a Book
Hey you! I hope you are doing good. It’s crazy what times we live in, isn’t it? It feels it […]
Creative Coders against AI Colonialism
It is 2025, almost three years after the “AI shock”, when ChatGPT and Dalle2 suddenly captured humankind’s attention. From then […]
Demystify Technology
One of the guiding principles of my teaching and in the development of this platform is the phrase “Demystify Technology”. […]