Embracing ‘chaos’ in your Code Club

At a recent Code Club meet-up, I was chatting to a volunteer who asked for tips on running a Code Club because they felt that some aspects of their club were, in their words, ‘chaos’.

This got me thinking that, in some ways, my club can be chaos too – and I think that’s a good thing. Obviously there is a need for rules and structure within a club, but children also need an environment in which they feel free to experiment and share ideas.

Here are a few ways in which I’d consider my club ‘chaos’:

Children work on different projects. They are personalising their learning, working on a Halo 002project that interests them, at their own pace. I’ve known children skip projects that don’t interest them, or spend weeks on a project that captures their imagination. Some children may, after completing a handful of projects, decide that they have enough knowledge and skill to build something of their own.

Children move around a lot. They look around at what others are making, getting ideas and inspiration. They often invite others to play (i.e. test) their finished projects, and then make improvements based on feedback they receive. Children get a lot of motivation from seeing others huddled around their computer, playing and enjoying a project they made. For this reason, children often make sure that their project is of high quality before allowing others to play with it.

Robot 004It can sometimes get loud. Children ask each other questions, and move around the room to help each other out. They test each other’s projects, giving verbal feedback, sharing ideas or even just having fun with the things they’ve created. When children are motivated to create things that interest them, I think it’s important that they have time to enjoy the things they’ve made.

Children play games. My club use online Scratch, and so as well as playing each other’s games they do get time to play other Scratch projects online. Obviously it’s important that this doesn’t dominate a club, but I think children learn lots about what’s possible with Scratch – especially when moving past the basics. Posting their own creations online is also a great opportunity for children to get real feedback from the community.

What some volunteers call ‘chaos’ is in fact part of the fun, and part of the learning experience; it is how children show the excitement and enthusiasm they feel when making things with computers. All this differentiates a Code Club from regular computing classes, so I always advise volunteers to embrace it!

[Republished from the Code Club blog]

Olympic Gold – Part 1

To celebrate the 2016 Rio Olympics, I wanted to create a ‘3D’ running game, using a MakeyMakey running mat as input. In the first of 2 posts, I outline the process of creating the game. (See part 2 for how to create the running mat.)

Sprinting in 2D

Initially I created something very simple, with the Scratch cat moving towards a finish line when the left and right arrow keys are alternately pressed.

Here’s what the project looks like (click the image below to play):

image00.png

The code needed to create this game is very simple. A sprite just moves (and changes costume) whenever the left and right arrow keys are pressed, until the finish line is reached.

image05.png

However, there’s a problem when playing the game – simply holding down the left and right arrow keys causes the Scratch cat to sprint towards the finish line in record time! To fix this, I decided to add in blocks to wait until each key is not pressed after it has been pressed. This means that each key has to be pressed and released in turn for the cat to move.

image03.png

Sprinting in ‘3D’

After children have grasped the basics of Scratch, one thing I’m often asked is whether it’s possible to make 3D games in Scratch. Although not easy, the answer is that it’s definitely possible.

What they often want is for characters to move towards them, instead of left-to-right across the stage. This can be achieved by creating a stage background with a 3D perspective, like this:

image01.png

The code can then be adapted to enlarge and move the finish line as the left and right arrow keys are pressed (and released):

image06.png

Notice how it’s now the finish line that’s moving, so I’ve created a ‘distance’ variable, so that the game knows when the race is over.

Here’s the finished ‘Olympic Gold’ project (click the image below to play):

Screen Shot 2016-07-01 at 13.09.25.png

Hall of Fame

The game includes a high score table (created as a list) to keep track of the fastest sprinters. At the end of each game, a check is made to see whether the player’s time is faster than the slowest time in the list (the last item).

image02.png

If the player has sprinted fast enough to make the high score table, a custom Scratch block inserts the player’s score at the correct position in the list.

image04.png

Creating a ‘3D’ Sprint Game

A simplified version of this game is available available to registered clubs as a new ‘Sprint!’ Scratch project, along with 3 other Olympics-themed projects.