top of page
Decode: A Friendly Introduction
to Creative Coding through Analog Techniques
master's thesis @ M.A. Creative Technologies in Filmuniversity Babelsberg
For some people learning coding is easier, for some it's not. Some people struggle to understand coding concepts more. For example me.
In the creative coding courses I took part in, there were people from very different backgrounds, so it never felt fair to compare myself to their learning curves. But I did, and I didn't feel good. Luckily (for me), there were other people having a hard time too, and I realized that the explanations I invented for myself, like analogies of cooking and object oriented programming, helped them as well.
I got very curious about the human side of coding and wanted to understand why some people have a harder time in learning. I interviewed creative coders and looked for the pain points of learning creative coding.
So far I had 6 interviews, and from these I found that error messages, being alone, syntax and problems being too abstract are the top problems for beginner coders.
I developed some theories how the introduction to creative coding could be smoother for people who have similar minds as I do:
1. Teach algorithmic thinking first!
It's so easy to get lost with syntax mistakes and error messages, lose our confidence and think we are stupid. So focusing on the big picture first would make life easier.
2. Reading code before writing code!
It can be very scary to write in a language you don't even speak. To reduce the amount of frustrations, I believe just reading code, translating it to human language, and slowly getting used to brackets and semicolons could be a friendlier entrance to code.
3. Use analog techniques!
Computers are great. And it would make sense to learn how to talk to computers on a computer... But they are also very distractive. In my opinion for deeper learning, paper and pencil are a better medium.
I created a book which can be an introduction before the usual introduction to creative coding. It's a warmup before learning p5js.
It flips what you would do on the computer, here you just read, process, try to understand and translate to normal human language and draw.
I found that "being too abstract" is often a problem for beginners, so I try to explain programming concepts through everyday examples, and ask the users to find the algorithms in everyday activities, such as walking, brushing teeth, or building a snowman.
As community is also important for learning, I created a Discord channel and a bot, RG, so nobody feels alone when being stuck with a programming problem.
To design the book, I used analog techniques, I scanned everything. It was fun, I really love scanning. And I hope it gives an inspiration for the users of the book to create with joy.
bottom of page