Wednesday, 27 February 2013

Teaching Scratch in Schools

In a couple of weeks I'm going to start teaching computer programming to some 7 and 8 year olds in my local school.

I've seen my two children (6 and 8 years) really take to programming in the past few years (using Scratch) and because programming is my day job I've been able to support them and help them learn. Quite a few friends have asked if I can teach their kids, so I thought "why not do this at school?"

Programming is great for developing many of the traditional skills such as maths and logical thinking... it's also great fun and keeps them away from all the games!

I've found the best tool for teaching children programming is Scratch because it's very visual (so no need to remember commands), it's quick to get results, it's easy to install and is free. It's also has an active online community, see http://scratch.mit.edu/

See how it's been going...

Preparation

Talking to teacher friends of mine one thing is clear: I need to be prepared! Specifically, I need to get some lesson plans together and aim for some specific learning outcomes, these can then be broken down into bite sized pieces that can be tackled and completed in each lesson.

So this blog post is an initial brain dump of ideas... hopefully this will come together into something more coherent soon, and I'll come back and update this as the lessons progress.

To get the children's interest I'm going to set out two projects that they can work on: an art project or a game project. The children can choose whichever interests them most, or switch if they want to try something different.

Introducing scratch

For those children that have never used Scratch before I need to show them how it works, but I'm keen not to spend too long at the front of the class, preferring instead to get them going so that they can learn 'on the job'.

This is a great book that walks you through the basics (as well as more advanced stuff):

The basics:
  • The Stage—where the sprites perform
  • The Palette—where you find all the commands (e.g. to move a sprite)
  • The Scripts Area—where you arrange commands into programs
  • The Sprite List—when you start using multiple sprites this is where you manage them (e.g. to create new ones, or switch between each sprite's scripts).

Art project

Aim: Program the computer to produce pictures using shapes, colours and randomness. 

Here's some inspiration: 
Challenges:
  1. Draw on the screen with the pen
  2. Draw shapes, starting with a square
  3. Explore other shapes like triangles, pentagons etc
  4. How would you draw a circle with the pen?
  5. Repetition
  6. Randomness
  7. Using keyboard input to change things (such as shape or colour)

Games project

Aim: Create a computer game that is fun and challenging. E.g. a chase game where you have to avoid the aliens for as long as possible.

Plenty of inspiration here, especially for those with memories of early home computers like the ZX spectrum and BBC micro:

Challenges:
  • Move your sprite about with the keyboard
  • Create an alien sprite, and make the game end if you touch it
  • Now make the alien sprite follow your character 
  • Add in extra hazards
  • Add in lives so that your sprite can survive a few alien impacts before the end of the game
  • and so on...

No comments:

Post a Comment