Lesson 1

• Creative Coding introduction
• Course outline
• Inspirational projects
• Conditional Design activity
• Editor introduction (https://editor.p5js.org/) and account setup
• Homework: Pick up a creative coding project you like the most

Lesson 2

• Play with the console with `print()` command understanding math and string concatenation
• How to comment code.
• Exercise: get used with the syntax creating sentences about activity you performed with text and calculated numbers such as `print("I've bought" + (100/20+2) + "orange")`
• Coordinate system: understanding how it works and learn about `setup` and `draw` functions as well as the `createCanvas` and its parameters.
• Exercise: create 4 rectangles in a grid layout
• Basic shapes: after the `rect` command, let's explore `circle`, `line`, `triangle`, `arc`, etc.
• Understand the stack execution order and the specificity of the parameters
• Exercise: Create a simple face with the primitive shapes
• Let's color them: understand `fill`, `stroke`, `noFill`, `noStroke` and how to encode color parameters
• Exercise: Give some color to the face
• Homework: Create a dream house with the drawing commands

Lesson 3

• Check exercises together

• Functions: what is a function, custom functions vs builtin functions to reuse or execute complex commands on demand

• Demonstration of the verbose problem making the same symbol multiple times

• Understand the `translate` command

• Exercise: create 8 symbols, 2 rows using the translate compensation

• Demonstrate the rowFunction to make rows

• --- break ---

• Variables: introduction to the concept, builtin variables (width, height, frameCount, mouseX, mouseY)

• Show values with print, text, shapes prop, color

• Exercise: 2 circles, radius with mouseX/Y

• Exercise: 2 rect left/right with mouse in the middle

• Exercise: 4 rects top/bottom/left/right with mouse in the middle

• Homework: make an alien with multiple eyes (using function and translate), body and eyes color change with mouse position

• Custom variables: store and reuse of custom values, modify the value at run-time.

• Introduction of the `mousePressed` function to increment a variable

• Exercise: make a circle growing and following the mouse

• Exercise: make a color changer

• Include an image

• Homework: An alien using functions for multiple eyes, translate for position, mouseX to change body color

Lesson 4

• Check Homework
• Reharshal Function, translate
• How to sandbox transformations? Introducing push/pop (example function with mouse translate and foreground static)
• Reharshal Variables built-in
• Introduction Functions with parameters (user defined variables) with example
• Introducing custom Variables
• Introducing Random
• Introduction of the `keyPressed` function to move an object
• Exercise: create an object that moves in the four directions with the keyboard arrow
• Introduction to the condition principle
• Es: change color with mouseX position, num click to show more objects
• Homework: Character configurator using random, keypressed, variables

Lesson 5

• Check Homework
• Reharshal Functions, Variables, Random, Condition.
• Conditions more examples: boolean result + comparison operators:
• condition with background col static val, variable, mouseX, dyn var
• using with keyPressed
• Introduction to the `time` functions with `print`, `text` and `circle` using `map`
• Intermediate Project Brief, the time as values: The interactive watch

Lesson 6/10

• Introduction to the for-loop principle
• Exercise: create a list of object
• Understanding `sin` and `cos` and how to use them
• Noise
• FFT
• 3D
• Sound
• Scene structure