Sunday 28 June 2015

Beats and Bytes

On June 25th, I had the pleasure of hosting eleven local primary schools for an afternoon of live coding using Sonic Pi.

Before the session had taken place, I had run a cpd session to introduce the teachers to the software and show how the Key Stage 2  computer science concepts can be taught using it. After this session, teachers were armed with the subject knowledge and resources to introduce their children to live coding in preparation for the event.

Beats and Bytes started off with a performance from the school band, The Gigabytes, who performed their composition Samba.

After this, the children, who were in groups of 3 and 4, were given the sheet music to the song the band had just performed and a laptop. Their task was simple: code some of the song and personalise it.

Over the next hour, children changed synths, added effects, created loops, set parameters, debugged - on several occasions a child could be heard telling another that 'every do needs and end' - and had fun. When the time was up, each group plugged their laptop into the speaker system and showcased their composition. The variety of sounds that were produced was fantastic, some of the code I had to look at more than once before understanding what the instructions were.

In my opinion the afternoon was a great success, the visiting teachers departed with complimentary comments and the children were asking when they could come again. One child even said it was the best school trip he had been on. For me, I enjoyed watching the children engage with programming, share ideas and solve problems. Yes kids can code, but more importantly, kids enjoy code!


Friday 26 June 2015

Using Makey-Makey Boards with Scratch

When I first bought a makey-makey board, I saw it as a toy. However after letting my class play with it, I soon realised it had more educational value than it was letting on, providing a great tool for engagement and motivation.

My first use came while trying to extend some high achievers in ICT, as it was then, when using scratch. The children were already making games with an olympic theme (think Daley Thompson’s Decathlon) and creating a controller with the board was a suitable extension. The problem was it was an extension that everyone wanted to access. By the end of the unit I had bought four more and all of the class had programmed a scratch game controlled by the board.

For the uninitiated, a makey-makey board is a circuit board that connects to a computer via a usb lead. Once connected certain computer inputs can be mimicked by connecting the device to electrical conductors and completing the circuit with an earth connection.

The unit that I now teach, which developed as a result of our tinkering, is described below.

To introduce the board to the children, we watched the makey-makey promotional video on youtube before I gave several boards out with the instruction to connect them to the computer. Once they were able to type something into a text editor, we moved on to playing games on Friv. The challenge here was for children to find games that could be controlled by the board and design a controller to play the game. The next activity combined elements of science and computing as children tested a range of materials to see if they were electrical conductors. The children created scratch programs that identified when an object completed an electrical circuit. By the end of these two sessions the children had a sound understanding of how the boards worked and how they could be used as an input. The next step was designing input based programs in scratch with the makey-makey board in mind.

The children's challenge was to design an activity, containing variables and conditional statements, that would be controlled by the makey-makey boards. Their programs ranged from maze games, to two-player racing games and keepie-uppie games. My favourite though was an on-screen piano that was controlled by a play-doh keyboard (an idea taken from the promotional video). This involved a group of three children working collaboratively to program a piano simulation.The lure of being able to play this piano definitely gave them renewed resilience and ensured that they stuck at this project until completion. After using these boards for a few years, I am still surprised by the ideas that children come up with and the perseverance they show to complete their program and long may this continue.

If you're looking to extend children with their use of scratch but are not yet ready to make the leap to text based programming, using a makey-makey board could be the challenge your class needs.

Resources to support the activities mentioned above can be downloaded from here.

Sunday 14 June 2015

Introducing Selection with Guess Who


I have discussed how the board game guess who can be used to introduce the concepts of variables in a previous post, but it occurred to me recently that the whole structure of the game is underpinned by selection statements. Therefore it seemed like a perfect way to introduce the concept to children.

Every time a child asks a question in guess who, they are creating a selection statement to follow. They know that if the answer is yes they have to knock down the characters lacking in the characteristic, but if the answer is no they knock down those with the characteristic. By getting children to play guess who, of which there are many cheaper titles with amusing variations on the name available, we can introduce them to the concept of selection using a context they are already familiar with.



To start this session, introduce the children to the idea of creating then, if else statements by asking how the player should respond to certain questions. I have used the scratch selection block to structure this, as the activity was original designed as an unplugged activity for a unit that developed the concept of selection using scratch (I suggest that children mimic the programming vocabulary and syntax they will be using in the unit). After this was introduced, children then played Guess Who and recorded each question they asked and the subsequent actions as if, then else statements. Understanding can be assessed further by asking children to deduce the questions that had been asked from given then and else statements, and by sequencing the questions of others.

After this the children were using scratch to create their own topic based quizzes using the ask and answer functions. However, after sharing the unplugged idea on twitter, Tim Head (@MrHeadComputing) suggested that someone should program a version of guess who. So, in the limited time I had available, I created a simple scratch program that uses events to create questions based on previous answers. Rather than playing the game against an opponent, you pick a character and the computer works out who your character is. I haven't used it with students yet, but can imagine that it would allow children to engage in purposeful computational thinking.  The Scratch file can be found here.
Ben Davies - @b3n3davies