The intermediate level of coding with Scratch follows a similar system to learning any coding language, but with the benefit of the programs controlling characters on a screen rather than alphanumeric text. Events, loops, conditional statements, and variables are all covered as Scratch specific blocks like the detection of collisions, key presses, and colours, or controlling speech bubbles and sound are introduced in a very straightforward manner with lots of example games that the concepts can be utilized to create.
With the basics covered the curriculum shifts to combining concepts into more complicated game behaviour types such as gravity, side scrolling, tracking velocity and acceleration, levels in a game etc. Some new Scratch capabilities that require a firm grasp of simpler functionality (like lists or clones) also get introduced to unlock even more impressive games.
Kids do more complicated concepts such as advanced physics, cloud variables, and drawing engines. In addition to these new skills tested in barebones concept games, they are also encouraged to work on large scale and broader scope projects taking aspects of project management into consideration. At this level there are a lot of different ways to program a desired behaviours and certain approaches to installing a system are more modular and easier to develop and maintain than others (e.g. don’t hardcode exactly what will happen into a sprite but instead have background code tracking changes and a general script in the sprite monitoring for these changes).
Kids learn core skills that get applied in projects to integrate their learning and make it fun. Some of the core skills learned and sample projects made include:
- Backpack: Saving Bits of Code
- Motion Type – Bounce Around the Screen
- Motion Type – Following Something Else
- Motion Type – Chase Something Else
- Project: Conga Line
- IF… THEN… (Sensing Mouse Touches)
- All the types of sensing!
- XY Motion (Standard Game Controls)
- Project: Maze Game
- Project: Maze Game – More Levels!
- Project: Cat Chase
- Animating Your Sprites
- Custom Sprites (Draw your own character)
- Using Existing Sounds
- Recording Sounds
- Variables 1 (store and change values)
- Variables 2 (test your value)
- Variables 3 (built-in variables)
- Cloning Sprites (unlimited copies)
- Project: Fruit Catch
- Project: Fruit Catch – Scoring
- Project: Fruit Catch – Random Fruit
- Project: Fruit Catch – More Fruit Types
MakerKids Mindset for Coding: Resilience
Coding requires a lot of trial and error. Programmers spend most of their time figuring out why the code they thing should be working, keeps failing. The resilience to dig into error messages, run countless tests, address numerous bugs, and often starting from scratch with a different approach, is what eventually leads to rewarding success. This resilience can be used in many areas of life and is a valued skill worth having.