Towards a theory of teaching Scratch
Scratch has been the most challenging but also the most enjoyable activity of all last term’s Sugar Activities. The kids were excited to make animations and get them running, but unable to think of and figure out different animations apart from the ones I used to teach them as samples for demo. They only mastered the samples but no ideas of how to either improve them or creating animations similar but different from the samples.

A combination of building ‘blocks’ to guide two ‘sprites’, a fox and a rabbit
The reason for this would be a suggestion that the kids did not know what the different building blocks do and how they could combine them to make their own animation.
Sugar Lab’s Scratch Activity itself has the potential to convert kids to great thinkers and programmers and we have to get a way of making this happen.
I found these two things important while learning Python: Incremental development and composition are two basic things that are vital for empowering a new programmer.
I therefore found the best way of teaching Scratch is to have lesson plans with sessions that teach the different building blocks and what they do and, for each session, provide an exercise to help the student compose the building blocks to make an animation.


Three of the types of building ‘blocks’ that can be used in combination to program the sprites’ behaviour.
The exercise would work as a kind of explanation about what the sprite should do and challenges the kids to come up with the correct arrangement of the building blocks to make the the animation work. After learning more components, they can improve their animations by doing more complex exercises starting with the basic ones.
To help me do this, I have written a tutorial that has both demos on what the different
building blocks do and exercises from basic to complex ones that will empower the kids learning Scratch with every progress they make on the tutorial.
An example is that after teaching on things like the XY grid, and building blocks like, “go to X:0 Y:0”, “glide for 1 sec to X:0Y:0”, and teaching on simple control blocks like “when space pressed”. They could have an exercise like:
Make an animation that starts from the left bottom part of the stage, glides to the top right of the stage and falls to the bottom right of the stage. (Your animation should receive an input from the keyboard to initialize it.)
When the kids are able to make such an animation, then they will be able to use the above blocks with confidence, knowing what to expect.
I found it an algorithm for teaching Scratch. More ideas and advice are welcome.
Thank you.
Simon Mwangangi



