Level 0
Getting set up for the first time.
- Getting set up with openprocessing.org.
- Testing it works.
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.
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.
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.
https://sites.google.com/view/creative-coding-for-kids/