Creative Coding for Beginners
Level 0
Getting set up for the first time.
Getting set up with openprocessing.org.
Testing it works.
Level 1
First steps for complete beginners.
Creating simple shapes - circles and squares.
Using shape fill colour.
Getting started writing p5js code.
Learn to use coordinates to place shapes on the canvas.
Setting shape size - circle diameter, square.
Replacing size numbers we've chosen with numbers chosen at random by our computer .
Selecting colours from a list at random.
Using randomness for shape location.
Challenge of moving a group of shapes, and how remembering numbers can help.
Variables imagined as box containing a number.
Level 2
Gently introducing key ideas like functions and repetition.
Idea of functions as reusable recipes of code.
Demonstrating how functions can save lots of typing.
Seeing how updating a function benefits all uses of it.
Introducing idea of computers as perfect for repetitive tasks.
Demonstrating using a function 200 times.
Passing information (parameters) to functions.
Introduce RGB colour mixing, and calculating colours.
Using loops counters to pass as parameters to functions.
Use to calculate shape size/location, RGB colour.
Introduce sine waves, after trying linear and squared functions.
Use sine waves to create shape and colour patterns.
Introduce HSB as an alternative colour model.
See how picking colours and calculating combinations is easier than with RGB.
Introduce nested loops, show how they cover 2-dimensions.
Practise creative uses of nested loop counters.
Introduce colour translucency.
See how translucency help make busy designs work better.
Level 3
More interesting ideas for more confident coders.
Introduce Perlin noise as more natural and less random than pure noise.
Explore uses for creating textures and patterns from noise displacement.
Learn how trigonometry can help us move around a circle.
See how trigonometry can create interesting orbital patterns.
Learn about self-similarity and recursion.
See how recursion can easily create intricate patterns.
Learn how to think about building recursive functions.
Learn about javascript's own for loops.
See how they’re more flexible than the repeat instruction.
Learn about classes and objects.
Learn to use objects to model moving things like fireworks or ants.
Create our own turtle language, and write an interpreter for it.
Evolve turtle code as an l-system to draw interesting patterns.