Thursday 2 February 2017

Coding Clubs - Recalling the heady days of a misspent youth twiddling with microcomputers - A ReadItTorial

Well it might not look like much, but it's got it where it counts!

This week's ReadItTorial found us spending a very interesting saturday morning doing something I personally hadn't done in a good 30 years - enjoying computers for fun!

When messing around with computers (or at least trying to keep the things working and up and running) is your day job, you sometimes lose sight of the fact that they're still a lot of fun and can inspire kids to learn a little bit more about the electronic world around them.

We'd booked Charlotte on a coding taster session held in Oxford (you can find out more about the sessions here but there are bound to be sessions also running in your local area if you google around a bit) dabbling in Micro:Python on the BBC Micro:Bit computer.

BBC Computers? Programming? Yep that really took me back to being at school though I'm pretty sure that most of the time during "Computer Club" we ended up playing Elite rather than actually doing anything practical (still love that game).

What came as a bit of a surprise to me was that kids learn Python, a 'proper' programming language - and start to cut their teeth very early on with a scripted language that can actually do things! We've had a few hits and misses playing around with Scratch (which is more like programming with Lego blocks than real scripting) so I was interested to see what the session would be all about.

The BBC Micro:Bit is a small but powerful computer designed to help kids understand what lies at the heart of ordinary everyday objects they might use elsewhere.

The BBC Micro:Bit. Deceptively small but extremely fun to play with!
Basically a circuit board with edge connections and a USB port, a couple of buttons and (the most important bit for Charlotte) a 5 x 5 pixel display, the Micro:Bit interacts with your laptop or PC via USB to allow you to write programs in Python that trigger things to happen on the tiny device.

The taster sessions are quite short - 30 mins - so getting something working in that time can be a bit of a struggle, but thankfully the team were extremely well organised and the kits we used in the class were all ready to go - all we needed to do was turn up.

The taster program was to write a small 'heartbeat' routine. First, kids were shown how to write a program that would activate different lights on the Micro:Bit's display. Again this took me back to my youth, recalling a lot of time writing simple programs to make game 'sprites' on my humble ZX Spectrum. Similar to plotting out a design on graph paper for MineCraft or other block-based things, the Micro:Bit's display can be programmed with your own designs.

The Mu Programming interface. Commands are entered almost in plain English! A heck of a change from working in BBC or ZX Basic!
Using the Mu Programming interface (basically a nice and simple UI for kids who are just breaking away from block-based coding languages), children can write simple routines then "flash" them to the Micro:Bit ready to actually do something.

The device, despite its size, comes with a couple of buttons and a range of other sensors (including accelerometers and a compass) so there are lots of ways to interact with the thing.

During the lesson we were shown how to hook the Micro:Bit up to an external edge connector so that we could then connect in a speaker attached to a breadboard. Again, so many memories of doing this kind of stuff way way back in the 80s but seeing it all updated for today's kids was pretty cool.

Charlotte took to it like a duck to water, and has since asked for a kit for her Birthday (she'd better behave!) It struck me that the combination of having something tangible (the Micro:Bit itself) coupled with a programming language where you're actually doing what I did all those years ago, basically tapping code in painstakingly into an editor was probably what made the session so exciting to her. Seeing an actual result from your programming efforts that makes logical sense really seemed to help the coin drop for her more than our sessions on Scratch (MIT Edu's alternative programming language where kids basically drag and drop components together in order to make program code).

There are Scratch-like editors for the Micro:Bit but Mu (the editor you see in the screenshot above) just felt like it offered a better balance between proper coding and complilation, and having a command set to dip into rather than some fairly rigid 'blocks'.

Once again it looks like the BBC are helping innovation in the important areas of early years technology and computer-based learning just as they did all those years ago.

The only annoyance is that this stuff isn't introduced at Charlotte's school until she's a lot older - yet it's obvious that kids as young as 5 or 6 (or maybe even younger) could have just as much fun with a helping hand or two from geeky mums and dads, doing something that may actually inspire them to get into proper coding and control stuff later in life.

Fantastic fun and we'll be returning for the rest of the sessions without a doubt and as the Micro:Bit is a shade under 20 quid (the Mu editor is free and can be installed on any laptop or PC as long as you've got USB ports to actually flash the program to your Micro:Bit) we'll probably pick one up pretty soon too.