I got hold of a BBC Micro:Bit initially from a school visit whilst looking around the programming / computer learning classes. When we were there, my son showed a very keen interest in the technology in the kids classrooms, this included various PC’s, programming languages and of course the Micro:Bit itself. When the teacher saw how keen he was, he sneaked off and came back with the starter kit which included the Micro:Bit board, a USB cable and a battery pack to provide power whilst it isn’t connected to a computer.
Having been a computer programmer in industry for the best part of 30 years, I’m naturally inclined to discuss and teach as much as I can to my kids regarding current tech – and whilst I had initially gone down the Scratch route with them in order to get them going, once I had seen the BBC Micro:Bit, it appeared to be at a slightly less advanced level – ideal I thought for a Seven year old aswell as my older Nine year old. Having said this, my older one is fairly good on Scratch so the Micro:Bit is a bit too basic for him.
So primarily I looked upon it as a teaching aid for my Six year old and a good springboard to get him learning programming, here is how we got on.
Learning Programming with the BBC Micro:Bit
The first thing to do was to get it connected to a computer and then see which available program editing software would be the easiest to get up and running with. Again, with a little bit of experience with scratch already in place, the most suitable development environment I determined was the “MicroSoft Block Editor” which is available for free and actually executes online within the browser – so nothing to download. You can visit http://www.microbit.co.uk for a selection of the available editors all in one place.
The screen dump below shows what to expect when you get into the block editor.
On the left you will see a menu which contains all the basic categorised programming constructs required to build a small control program for the board. Experienced programmers will immediately be able to recognise the constructs I have chosen to place in the program area in the middle of the screen. These include a while loop with indented code blocks which do various tasks such as light up the LED’s on the Micro:Bit, change the brightness, plot a graph, get the temperature from the temperature sensor onboard the tiny computer. We can also see an IF test with a variable called item being compared to a value, followed by the display of a string of characters (which scrolls the string from left to right in a ticker tape fashion). In addition, and although there is much more, I have shown a couple of event processing blocks such as “on shake” and “on button press”, which interrupt program flow and perform the tasks within them (blank for this review).
Further over still, we can see a graphic of the Micro:Bit which lights up LED’s on it when the program is tested before compiling and downloading to the actual boards flash memory for runtime execution. Kids learning to programming do not have to have any special keyboard skills because the entire system is based on a drag and drop interface which allows the child to build a program from the top down using the mouse alone 90% of the time. For data and strings etc, the keyboard is used – for loading values into variables as an example.
As you can see from above, there are a number of concepts a child will need to learn before they can start actually coding a computer program.
BBC Micro:Bit Example Program
After a while spent teaching the basics, I let my son loose on the machine and he created a program which used the loop block to repeatedly light up some of the LED’s. This did not require anything complicated and he quickly changed the program to make it look animated by switching between two different patterns – a winking face as it turns out. He also threw in a delay timer so that the program didn’t simply flash away in a matter of seconds, as with the ARM processor this thing doesn’t hang around! Now lets be under no false pretenses here, he is not yet ready to take on the likes of the Google PHD’s, but at the same time, this is not bad at all for a guy as young as Seven. Don’t take my word for it though – take a look at his first video showing the development of his chosen program from start to finish. Notice at the end the program needs compiling and dropping down to the card – this in itself is simply a case of using Windows Explorer (we are on Windows Seven for this) to do the file copy.
(Above – Learning to program a BBC Micro:Bit – Lesson 1)
Programming Using a Sensor.
Sensors onboard the Micro:Bit include the following :-
- Temperature Reading
- Compass Heading
Each of these has its own block which can be inserted into the program by the learner and each returns a type of value, for example the temperature sensor returns the currently detected temperature in degrees celsius as an integer value. This can be tested by the pupil after placing it into a variable and action can be taken depending on the reading. Being honest, my lad has a reasonable grasp of what temperature is as I have explained to him that molecules and atoms vibrate, and the faster they do so, the more heat they release. But beyond simply teaching this and programming – it was an ideal opportunity to go over the freezing point of water, boiling point, absolute zero in deep space, room temperature etc. All the things kids love to learn about. So once that was in place, here he goes writing a basic thermometer with a message sent to the LED’s depending on the sensor reading returned by the block.
(Above – using IF – ELSE and Variable testing)
All up I consider the BBC Micro:Bit a fantastic learning aid for programming and hope it will lead onto bigger and better things in the future. Programming is not for everyone but simply by putting a bit of time in you can teach the kids some simple logic which can be applied to real life situations which aren’t always tied in with computing.
My view is that the earlier they start learning, the better they will be at it in the future – whatever path they choose to take. Whilst we obtained a Micro:Bit kit for free initially, we purchased another one so they had one each, online they cost around £15 and the retail kit also includes some pre-coded software.
There are various projects to work on – each of which touches (quite deeply in some cases) on logic and processing in the manner required for the task, these include games, random number generators, various displays and even bluetooth connectivity, so plenty more to go at. I highly recommend this kit.