Showing posts with label coding. Show all posts
Showing posts with label coding. Show all posts

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












Sunday, 8 March 2015

Unplugged Variables

For the last few years, when teaching variables to key stage 2 pupils, I've mainly focused on scoring systems, timers, lives etc in Scratch games and introduced the concept as a value that is changed. This sat well with children's scientific understanding of the word and was readily accepted.

When ICT evolved into Computing, and variables were mentioned explicitly in the key stage 2 program of study, I thought my explanation of the concept needed to be more accurate. Below is the basic explanation that I give to children and some unplugged activities that can be used to introduce the concept.

Variables are places in computer programs that data can be stored. This data can be changed, recalled or used as required. The variable can only contain one value at a time. Data in variables can be represented as numbers, statements, dates etc. 

Where's the Variable?

As a class we looked at a range of images showing variables in software applications and in other forms like calendars and scoreboards. We identified the variable(s) and discussed when they would change - when a piggie is destroyed increase score variable by 500 (angry birds).



Comparing Variables


I used this activity to support programming a game to identify the winner when a points system is used. The scoreboard from a soccer game gives plenty of paired variables that can be compared. Using these values, we decided which team had scored the most goals, had the most corners, made the most saves. Then we discussed how to write an algorithm that would compare the values and state who the winner is (we found it useful to give pairs of variables names - saves 1 & saves 2). Example if saves 1 > saves 2 then say "Team 1 Winner"; if saves 1< saves 2 then say "Team 2 Winner". If saves 1 = saves 2 then say "Draw no winner"

Guess Who

In this activity we used the statements true/false to create facts about Guess Who characters.
First pupils had to identify the characters from the information given.
Glasses: True
Hat: False
Blonde Hair: True
Moustache: False

Once this understanding was secure, the children used the full set of characters to create variable statements to describe other characters. They then swapped statements and worked out who the statements where describing.

Dice Games

The first activity required children to follow an algorithm to create a scoring game using dice. After playing the game and discussing what certain parts of the algorithm meant, they were then challenged to design their own dice scoring game and write an algorithm for it.

Whenever I use an unplugged activity, I attempt to match the language used in it to the predetermined vocabulary and syntax of the programming language we are using and, with variables, the way the concept will be used. Some of these activities attempt to mimic Scratch, others text-based languages. 

Thursday, 12 February 2015

CAS CPD Events

This term I will be running two CPD sessions on behalf of Computing at Schools.


The first course - Introducing Computer Science to the Primary Classroom (10/03/15)  - explains the computer science concepts and terminology of the new computing curriculum and explores a range of engaging unplugged activities (non IT) that can be used to introduce such concepts to the classroom. 

These activities include the algorithm or advice quiz; roboteach makes squash; human number sort; the selection dance; variable guess who.


The course was over subscribed when run last term. Below is some feedback from course attendees
  • "The activities shared were very useful"
  • "It was excellent"
  • "[the course] made me realise I had a better understanding of the concepts than I thought"
  • "great examples of unplugged resources"
  • "loads of practical ideas to use in the classroom" 

The second course - Using Makey-Makey Boards with Scratch (19/03/15) -  explores how Makey-Makey boards (more info here) can be used in conjunction with Scratch to program activities and games that use external inputs. As this session will be very hands-on, the numbers are strictly limited to 15 to ensure that all attendees have access to resources.

The session includes ideas on use a makey-makey board to test electric conductors; to control maze based games, control two player race games; play an onscreen instruments. 

Both courses will be run as twilight sessions from 4pm to 6pm at St Paul's Primary School in Withington (M20 4PG)  and the charge per attendee is £27.15. If you would like to book a place on either course please use the links below. Course attendees will be receive copies of resources used in the training sessions


Using Makey-Makey Boards with Scratch - https://www.eventbrite.co.uk/e/using-makey-makey-boards-with-scratch-registration-15350938069

In addition to these events, Sally Jordan will be hosting the termly South Manchester Primary CAS Hub meeting and CPD sessions on Scratch and Kodu - details below.

Next CAS Primary Hub is at Acacias Primary School on March 5th
Courses:
Introducing Scratch to Primary Teachers KS1 & KS2 on 26/03/2015 16:00 – 17:30
Using Scratch to deliver the Computing Curriculum in Primary Schools.
Exciting and engaging ideas for you and your class with practical activities to deliver straight away.
There will be an opportunity to gain practical experience using Scratch and to learn about the wide variety of plans and resources available.

Introduction to Kodu for Primary Teachers on 30/04/2015 16:00 – 17:30 at Acacias Primary School, Burnage.

Sally Jordan - Sally is Computing Co-ordinator at Acacias Primary School, and was appointed as a Primary Master Teacher (Level 2) in July 2014. She is currently teaching Computing across the school and Year 6 intervention groups.
Venue for both training courses is Acacias Primary School, Alexandra Drive, Burnage M19 2WW

For further information: sally.jordan@computingatschool.org.uk

Thursday, 30 October 2014

Is it an Algorithm?

If the new primary computing curriculum has achieved anything,  it is introducing the word algorithm into the vocabulary of most teachers. We now all know that algorithms are just a set of instructions to get something done and range from knitting patterns to recipes, from lego instructions to programs written in logo. 

This term we have introduced the word algorithm to pupils EYFS. The children pretended to be a pirate, the gruffalo, even the Queen when saying the word. They have also enjoyed singing the algorithm round.

 











There are key features to algorithm that we can use to identify if something is an algorithm. They must have a outcome: something has to be achieved. They need to be sequenced into a set of steps: if these steps are not followed in order the end product will not be reached. So a no parking sign is not an algorithm but instructions on how to use a parking meter are.



Using this criteria,  pupils can sort images into algorithms or advice. This can be started in class, using this presentation, and continued at home with pupils collecting images of everyday algorithms. Before attempting to understand what a program is, pupils' need a sound understanding of what an algorithm is and isn't.