Sunday, April 7, 2013

A Byte of PI

A national science week activity to introduce primary pupils to programming

In common with many of my colleagues, I bought a Raspberry PI last summer to find out what all the fuss was about. What could a £25 computer really do? I was most impressed as it was a real computer running a real operating system which could do the same things that computers costing 10 times or more could do. I had these crazy ideas for projects which could use a Raspberry PI but somehow these never came to anything and the PI was left in a drawer, which appears to be what has happened to many of the PIs after that initial burst of enthusiasm. Which is a real shame because the Raspberry PI could just be the catalyst to get our children programming again. I often hark back to the heady days of the early 1980's when with the advent of the BBC Micro, ZX Spectrum and other machines connected to the family television, there was lots of interest which resulted in a huge increase in children (and adults) learning to program and creating some great games and applications. I am sure these first steps into computing were the stimulus for many to consider a career in computing and may be just the reason we had the Dot-COM boom of the late 1990's.

Then something magical occurred. MOSI in Manchester organised an event for STEM ambassadors working in the computing industry in mid-January. I have been a STEM Ambassador for around 18 months and have always felt that there weren't that many ambassadors with a strong computing background. However at this event, there were over 30 like-minded enthusiastic ambassadors who all felt that the Raspberry PI was special and was ideal to kick start programming again in schools and help move the curriculum forward from ICT (using computers) and on to computing (making computers do something useful).

And then it struck me – if we have our own PIs, could we pool these together to create an event which could go round schools to try and stimulate interest in programming? Clearly one PI per school wasn't going to be enough, we needed lots of PIs so that we could immerse lots of pupils at the same time. And so a Byte of PI was born. I met up with another STEM ambassador who I had done an event with 12 months ago for Year 5 pupils. Although we were both computing professionals, our previous STEM activity for Year 5 was more general science (these ambassadors have such versatility!) and we were initially going to repeat the activity this year. However, we both agreed that it was worth a go at trying to create a Raspberry PI themed science event.

But where do we start? It was clear that the activity needed to be something which was engaging, stimulating and fun but it also needed to make sure that it had a clear goal such that at the end of the session our Year 5 pupils could say that 'I have learnt something today – I can program a computer'. The initial thoughts was to have 10 PIs with 2 pupils per PI each trying to create a different program probably using Scratch, a brilliant visual programming language. We also thought about having some control experiments e.g. simple traffic light controller. As the weeks progressed (we had around 6 weeks to make the event a reality), it dawned on me that I would have to first write a program on the PI, then de-construct it in such a way that a clear set of instructions could be created suitable for a Year 5 audience and then tested.

Several iterations later, I had a program and a set of instructions ready for testing. My youngest son, William, was keen to help. He had some experience of Scratch which had been useful as he had discovered some new features for me to use. Testing demonstrated that the quiz would take between 30 and 40 minutes to complete which was ideal for a 1 hour session. I also shared with my fellow STEM ambassadors so that they were comfortable helping at the session.

The Byte of PI team ready for Action...
It was 'launched' at a Computing at Schools NW conference in March where it was explained how Scratch could be used as a catalyst for getting more pupils into programming

So what is a Byte of PI? A byte of PI session is a 1 hour session consisting of 4 parts
  • A brief introduction to introduce what a program is and why we need programs (remember computers are stupid; they need people to tell them precisely what to do!)
  • A hands-on session developing an application (a maths quiz). There are a number extensions available if the initial application is completed quickly
  • An example demonstration of what can be achieved with Scratch including animation, multiple sprites and sound. (We used a recent homework assignment from Thomas, my eldest son for this)
  • A brief round-up reviewing what was learnt and a video promoting computer science and why it is cool to code.
It was clearly a success and hopefully the event can be repeated elsewhere.

So what have I learnt:
  • It is always great fun working with primary children (but I think most STEM Ambassadors would say that!)
  • The IT infrastructure in many schools isn't readily PI compatible but industry can help this by loaning out DVI or HDMI monitors.
  • Scratch is great language to get children developing applications quickly but contains many of the features which 'professional' languages contain. This means the basics in good programming techniques can be learnt before moving onto more advanced languages.
  • An event like this needs lots of hands-on support, not necessarily from ambassadors with a computing background, because there will be lots of questions.
The next steps:
  • Develop more Byte of PI exercises, introducing more concepts and possibly with different languages. The aim is to demonstrate that everyone can programme and then get engaged with activities such as CodeClub and STEMclubs.
  • Develop a 'Slice of PI' which would be aimed at teachers with a view to trying to provide some more background behind the activities and in particular giving them the confidence to teach it within their schools.
Special thanks must go the Donna Johnson and Daniel O’Donnell at MOSI for helping us (particularly for providing extra PIs and monitor cables) and ensuring our enthusiasm never waned; Karen Crowther at AGSB for providing us with the excuse to run the event (and to have so much fun!), NMI for providing us with 6 PIs provided that we did something with them to get children coding (I think we have achieved that), my fellow STEM Ambassadors Anthony, Lisa, Sam and Amin, and finally my two sons, Thomas (aged 12) and William (aged 10) for testing my program, teaching me some of the finer details of Scratch and being excellent tutors during the workshop.