Starting from Scratch

Teaching computing in schools is a hot topic right now.  And one of the ideas under debate is whether children should begin to learn computer science in Primary schools, so that they grow up with an ability to use code creatively rather than just passively consume computer programs made by others.

Have a look at these kids interviewing some high calibre applicants for Code Club, a national initiative introducing programming to Years 5 and 6. They are unimpressed by Tim Berners-Lee inventing the World Wide Web but decide to hire the Duke of York for his connections!

http://www.youtube.com/watch?v=FxhGIajRsq4&feature=player_embedded

You can well imagine that children of this age will jump at the chance to make their own computer games, but where does the novice Primary teacher start with all of this? Code Club suggests using the free software Scratch, a child-friendly visual programming language in which you snap together coloured blocks to assemble your script like a jigsaw. You can make interactive stories, animations and games, share your projects with the world and remix other people’s scripts.

This means that you don’t really have to start from scratch at all: you can find a project you like the look of and modify the script to suit your own ideas.  Primary-aged children respond well to this problem solving approach where they think of an idea, look at what others have done, create a prototype, debug, get feedback and redesign.  At the MIT lab they see the computer design process as a continuous spiral that combines many 21st Century skills:

Here’s how Simon Haughton sums up the program writing process as a Learning Intention:

Simon also shares his school’s plans for progression in programming from Year 1 to Year 6. However, before they can get creative with Scratch, children using the software for the first time will need to understand the basic concepts and begin to learn some of the terminology. (Word cloud made in Tagul.)

Good starting places for beginners might be this introductory guide from MIT,  these Simple introductory lessons from Redware or the Scratch Cards from the MIT site ScratchED which you can print and laminate.  EdTechLounge has some resources for Key Stage 1, TES online suggests simple lessons for low ability students starting out with Scratch, and Miss Flavia’s blog shares how she begins by designing aquariums for her young students’ fish sprites to swim in.

If you like the aquarium idea have a look at Miles Berry’s video on making an animated underwater scene.

You could continue the fishy theme and progress to making a shark attack game using this set of instructions on the Teach-ICT website, where there is also a fantastic selection of how-to’s for other classic games and some useful assessment tracking sheets.

Once your pupils have explored the basics, step-by-step game-making guides such as these are a good way to learn more. Here’s a selection:

Whack-a-witch game from Code Club,

Make a Bat and Ball, Dog and Crab and Fish! games from Redware

Pac Man (chasing and eating) or Pong (paddle and ball) and Racing car games from Simon Haughton

Etch a Sketch  and Angry Birds games from Simon Haughton

You can follow up by challenging them to modifying their games by changing the size or speed of the sprites, making them look different, changing the theme or adding sounds.  You’ll find that children learn to program at different speeds but all will learn something new each lesson and it will be important to recognise their achievements.

If you have a blog you can embed your Scratch projects by following these instructions.

Once your class is hooked on programming, it is also worth looking at Kodu, another free visual programming language made specifically for creating games in 3D landscapes.  Here’s Stuart Ridout demonstrating how to make a simple apple collecting game in Kodu. The option to use an Xbox controller with your computer instead of the keyboard is sure to appeal.

And on the iPad here are two drag and drop apps for introducing computing concepts: Daisy the Dinosaur, aimed at KS1 and Cargo Bot which would be great at KS2.

Finally here’s a set of further links: http://sqworl.com/cono6d.

Hopefully, you’ll find something in the above resources that will help you get started. The good thing is that, with these easy-to-use approaches to programming, you don’t need to be an expert or even have any previous programming experience yourself. You just need to scratch the surface and watch them go!