1 Introduction to algorithmic design
In the emerging, highly programmed landscape ahead, you will either create the software or you will be the software. It’s really that simple: Program, or be programmed. Choose the former, and you gain access to the control panel of civilization. Choose the latter, and it could be the last real choice you get to make.
(Rushkoff, 2010, pp. 7–8)
This course explores how you can use computers and algorithms to design in a creative way.
Let’s be clear, we are not just talking about using computers for familiar tasks like editing photos. In this course, you will be going deeper into the logic of computation and getting your hands dirty by tweaking and experimenting with algorithms to create designs.
But what is an algorithm? An algorithm is just a set of instructions on how to carry out a task. For example, a recipe is an algorithm with a sequence of steps:
- Mix butter with sugar.
- Add vanilla extract.
- Add eggs (one at a time).
- Add flour with the baking powder and milk.
- Preheat oven to 175 °C.
- Add the batter into the cupcake liners.
- Bake the cupcakes for 15-20 minutes.
- Let them cool, add icing, and serve.
When a computer encounters an algorithm, it progresses through a sequence of instructions to generate an output, such as the cupcake recipe above.
In the present day, algorithms have become ubiquitous, seamlessly integrated into every aspect of our recreational and professional lives, whether or not we directly engage with them. Algorithms run cars, traffic lights, and monitor air quality. Algorithms power the banking system and keep dialysis machines running. When we are online, the algorithms from companies such as Google, Amazon, and Facebook/Meta let us find information, recommend products and provide news based on what we like and who we are.
But why should designers care about algorithms? Well, today design can’t be separated from computation. Algorithms can be used creatively to generate new ideas, shapes, and patterns. In today’s design industry, computers are an essential tool for almost every designer, regardless of whether they are creating buildings, computer games, or working on tapestries and theatre lighting.
In this course, you will be using computation and algorithms not just as tools, but as a way to think about design. The logic of algorithms is different from human logic and processes. Thinking with algorithms changes how designers work. Algorithmic ways of thinking have spawned algorithmic art as well as computer games and provide new ways for people to interact. They have transformed traditional analogue forms of art and design, such as painting, sculpture, and drawing, to introduce new kinds of visual complexity and textures. By thinking and designing with algorithms, this project will give you a glimpse of the underlying mechanism of the world, and propel you to the cutting edge of where the design discipline is heading.
At the start of the course in Section 3: Playing with Code, you will learn some of the basic principles and skills of algorithmic design such as how to draw shapes and control colour by tweaking some code examples.
In Section 4: Making Tiles and Section 5: Making Patterns, the skills will take you deeper into programming by giving you opportunities to design your own algorithmic tiles and then arrange them into a pattern. As you work through the skills, you will generate ideas that will contribute to your final wallpaper design.
In Section 6: Identify a place for your wallpaper design, you will concentrate on creating an algorithmic wallpaper design for your own home.
Across all sections, you should:
- keep a codesnippet text file where you will collect the code for your tiles

