A Mini Microbit Olympics
At my school we recently held what we called a Mini Microbit Olympics event with those students who had not previously had any programming experience, or at least nothing since their brief encounter with Scratch. The principle idea was to generate excitement and enthusiasm for the idea of computer science and of programming, ahead of those students being faced with forthcoming GCSE option choices.
I gathered together, edited and developed a range of mini programming projects which I then introduced to the students, who worked together in groups of three. Their remit was to take the code (which I gave to them in segments, taking them through the idea of code development in an easy, fairly fast-paced way), and to then try to adapt the code to create a solution which was unique to their group. This could involve increasing accuracy, or making a game more difficult or more easy.
I’m sharing the finished code (created using the Block Editor as it helped to tie in to their previous experience with Scratch). However, if this was to be used in the same sort of way as I did then it would be helpful to break this down into sections (adding one loop after the previous one for example), and then identifying with students where changes could be made. I’ll identify some of these below.
The whole project was extremely well received, with a great deal of excitement and enthusiasm, even from students with no prior experience of programming, and who had assumed that computer science wasn’t for them. It helped to boost the number of enquiries, and get people across the school talking about it. It also helped us escape the classroom, and develop a more active, hands on approach to computer science than simply sat at a computer punching in reams of code.
This project introduced the idea of inputting information to the Microbit using the motion sensors that allow us to use the ‘shake’ input command. Students put this code together in stages (I broke it down into four stages, showing students each stage on the board and providing printed copies to some students who needed further help, and annotated copies to students who needed greater help.)
Once they created the code they then looked at the best place to attach the stepometer. Some tucked it into their shoe, others in their pocket and some held it in their hand. In groups of three it was useful to have one of each so that results could be compared.
Students where then provided with task sheets. This required them to measure the number of steps between the school library and the canteen, and from the engineering block to the hall.
They were then given some statistical facts, such as the average step for someone their age is 60cm, and one step burns 0.05 calories. Using data gathered from their Microbit stepometers students were able to calculate things such as how far the library was from the canteen, and how many times they’d have to walk around the playing field to burn up the calories in a Mars Bar (other confectionary products are also available.)
The idea of this game is that the Microbit will randomly display one of three possible symbols, an arrow pointing left, an arrow pointing right, and a diamond. There is a random delay before the symbol is displayed, but once it is, the clock starts counting (in milliseconds) until the user presses the correct button. If the left arrow is shown, button A should be pressed, if the right arrow is shown then button B is pressed, and if a diamond is shown then button A and B should be pressed at the same time.
This repeats a total of ten times, after which the final score is shown. The lower the score, the faster your reaction time.
Students were again given the code in segments, and then encouraged to make their own custom game. This involved them doing simple changes such as making the symbols look different, or more interesting changes such as changing the delay between each symbol being shown. Students found that by increasing the delay before each symbol is shown, the game became much harder, and overall reaction times were slower.
I offered a reward to any student who was able to beat me at their own version of the game, which encouraged them to experiment with the code and find a balance between it being easily playable, and challenging. Fortunately, several groups were successful, although the classroom quickly became a fierce arena, with a good deal of code tweaking going on between rounds.
Egg & Spoon Race
This introduced the idea of the Microbit being able to detect rolling and pitching. It also introduced the idea of using sprites.
When the game starts a single LED, the sprite, appears in the centre of the Microbit display. As long as the Microbit is held perfectly flat the sprite remains where it is, but if the Microbit is tipped at any slight angle, the sprite starts to roll towards that edge. If the sprite touches the edge, then the game ends. It is effectively like holding a spoon at arm’s length with a wobbly egg on the end which could roll off.
Students were first challenged to write the code and then test it by holding the Microbit flat on the palm of their hand at arm’s length and walk once around the room.
After this, students were challenged to make the game either easier or harder, by increasing or decreasing the number of degrees allowed before the sprite begins to roll. The default value was 10, but some managed to take at least a couple of steps even with this as low as 5.
A few more able students then looked at adding in a score, taking what they had learned from the Reaction Test game, so that you could gain a higher score the longer you could hold the Microbit flat. This was again a popular game with lots of hands on (literally) work, competition between groups and scope for adapting and experimenting with the code.
This simple app does exactly what the name suggests. It’s a simple stopwatch that shows the time in seconds (rather than milliseconds). It also features a lap time facility.
When you press button A the stopwatch begins. Because of the limitations with the display the time is only shown when you press button B. When button B is pressed the current time elapsed is shown, but the stopwatch continues to time. Pressing button B again shows the total time, allowing you to time laps, for example. When you want to restart the stopwatch, simply press button A.
We used this app to time a number of races on the field, but we also combined this app with our egg and spoon app, seeing who could make it from one end of the classroom to the other in the shortest time.
These four apps provided us with a huge number of opportunities to experiment with code, try to see what would happen when variables were changed, and learn a lot about some of the fundamental structures of coding, such as variables and loops. At the same time though it was a fun, engaging and very practical introduction to programming, and worked very successfully in enthusing students, and encouraging them to consider taking up the subject at GCSE level.
I hope that these ideas will be of use to other educators, and would welcome any thoughts on other apps which could be included in a Mini Microbit Olympics event, or other ways in which these apps could be implemented or adapted.