Wednesday, 18 February 2015

Programming introduction for kids




I have been increasingly aware that children are not getting a good introduction to the world of software development in school. Mainly because teachers are often not trained, or get limited by curriculum and resources. A few external ventures such as coding club (run by ARM volunteers) and a visit to the computer history museum might spark interest, but there is always going to be room for making learning fun. Programming might be an interesting hobby for kids, but is also a very useful way to get to grips with a technology area that drives a lot of what we do today. So I'll not bore anyone with how Bill Gates, or Mark Zuckerberg jump started their careers in software, but rather go hands-on with a practical lesson aimed at children 10-13 years approximately.
Aimed at those with no experience, to the intermediate, I am going to run a one-off coding club Saturday. If it works, we will repeat it. It will be a drop-off 3 hour session run by industry professionals and teaching kids the basics programming using Scratch on a Raspberry Pi.

Why 10-13? We have chosen our target age range, in the hope of getting girls as well as boys involved. I'm flexible on age, but find this is the age-range is where computers are cool and there are not yet any teenage distractions. Not too young to be able to grasp mathematics and to think logically either. Historically software engineering and many of the sciences have seen also few women taking up the career. I do really hope to get some of the boys who rage about glitches in Minecraft for example, to create simple programs of their own and perhaps go on to become the next Silicon Valley startup founders.
Why Raspberry Pi? Two reasons: One; is it's a cheap and small computer and can interface with the real world and bring programs to life. Two; it is very simple and does not have the distractions associated with programming on a desktop computer.
Just how basic? Scratch. Scratch is graphical, but has enough basic features of proper computing languages. So we can teach software engineering principles that kids can later take into careers.
Who? I'm looking for women. Yes women in software industry who have a Saturday spare. At the moment, Rob Pearce, David Newton and myself Conrad Braam will be running and helping put together the content. If it's popular a repeat Saturday would benefit from having a practice run, and have girls come along. But for that to work I need a female volunteer.

As a takeaway, kids will have learned how to use Scratch (some already have experience using it) to create a simple computer program. They will learn programming concepts such as design and debugging from people who do these things every day. They will learn how to link programs to simple hardware attached to the Raspberry Pi. And they will create a small computer game, who knows, sometimes that is enough to get them hooked. It was enough to get me hooked back in 1985.



Because Scratch is not a proper programming language, it is also our intention to hold a more advanced Python programing session. The takeaway will be the same, but will allow for more practical application of knowledge. Python is much more popular for use on the Raspberry Pi, and there are hundreds of good examples out there to get kids to go further. Which brings me back to the reason I'm promoting using a Raspberry Pi, they are cheap so won't break the bank. They are simple to use, and simple to dig deeper into when it comes to it. The internet is full of cool Raspberry Pi projects for those who do get hooked.

Charge will be about £7.00 for 3 hours which is a good deal really, and will cover us for equipment.
No need to bring anything with you either on the day, snacks will be provided. Kids take home a head full of inspiration. Location and date (before summer breakup) still to be decided.

Sometime in or ending summer 2015