Contact FutureLearn for Support Skip main navigation
We use cookies to give you a better experience, if that’s ok you can close this message and carry on browsing. For more info read our cookies policy.
We use cookies to give you a better experience. Carry on browsing if you're happy with this, or read our cookies policy for more information.

Skip to 0 minutes and 5 secondsHello and welcome to week 3 of Creative Coding. We hope you're enjoying being creative with the Processing sketches we discussed last week and are starting to get a grasp on the basics of programming with Processing. And equally important is learning more about the reasons behind creative programming and how to conceptualise a creative idea and turn it into code. With that in mind, this week we're going to be further exploring the concept of rule-based art and algorithmic thinking. An algorithm is an un-ambiguous way of describing some method or procedure. You're probably already familiar with algorithms of a sort if you've ever followed a recipe for example. Algorithms can be carried out by people, mechanical devices and of course, computers.

Skip to 0 minutes and 54 seconds The trick with creative programming is how to turn your creative ideas into programs that the computer can execute, and do so in a way that's meaningful to you. So in a way you'll need to 'think like a computer' to achieve this. And of course a lot of practice helps. So one way of doing this is to take a tangible, physical process and try to translate what's interesting about that process into code. As you'll see, this involves a degree of simplification, judgment about what's important and some knowledge of what is easy to express as code.

Skip to 1 minute and 29 seconds We'll be looking at the behaviour of a spinning top as it traces a path over a surface, abstracting that process into code, and then exploring what the code can add to the process that the spinning top could never do. After all, if your program can't do anything more that what you could do quicker, better, or more creatively with a physical object, why bother using a computer at all.

Skip to 1 minute and 45 secondsThis brings me to another topic we'll be debating this week: can a computer do anything that we'd think of as being truly creative? Will we see machines that are celebrated for their ability to be more creative than any human, or did Ada Lovelace get it right in 1843 when she said that computers cannot originate anything, they can only do what they're programmed to do? We'll be looking at creativity and computers later, but up first, let's look at the programming concepts of arrays and lists. As the name suggests, these are variables that are designed to store lists or collections of things. And they'll come in handy for the programming challenges that lie ahead. So if you're ready'let's begin!

Introduction to week 3

Watch Jon McCormack introduce week 3 and provide an overview of the themes to be covered - algorithmic thinking and creativity.

We’ll be looking at rule-based art and ‘algorithmic thinking’, examining ways to form creative ideas using computer code. One way to do this is to start with a physical process and try to abstract it into a form suitable for expressing as an ‘algorithm’ that can be implemented as code. We’ll see how simple rules repeated over multiple objects can generate complex phenomena. We’ll also be looking at the topic of creativity, in particular machine creativity and discussing what it might mean for a robot or computer to create its own art.

Learning outcomes for week 3

At the end of this week you should be able to:

  • Understand the programming concepts of arrays and lists and be able to use them in your Processing sketches;
  • Appreciate an artistic approach to translating physical motion into an algorithm and implementing the algorithm as a program;
  • Describe and explore rules as a basis for developing creative artworks;
  • Have an appreciation of what it means to be creative for people and machines.

This video is from the free online course:

Creative Coding

Monash University

Course highlights Get a taste of this course before you join: