Sunday, 26 July 2015

Using Lists with Scratch

My class have previously used lists in scratch to create adventure games where the player selects an appropriate item from his/her inventory to solve certain problems. This was nothing too complex: choosing between a banana, a key, a telescope and a piece of wood when faced with the problem of a locked door. Recently I have been looking at how lists can be used in a cross-curricular way and came up with the following idea in maths.

To start off, the children created a variable called random number. Then they wrote a program to make the variable a randomly selected number between 1 and 100 and for the sprite to say the variable. Next we discussed how we could award points based on the properties of the number. The class generated ideas (primes, squares, factors of x, multiples of x,) and then used probability to decide which number property should have the most/least points..

The next step involved children creating each list (based on the aforementioned number properties) and adding the appropriate numbers to these lists. Once this was done, children wrote an algorithm, then a program that checked the random number variable against each list and awarded the appropriate number of points. Some children took it a step further and added a time limit and high score functions to their program. The scratch file that I used to introduce number property lists to the children is available here. Below are screenshots of a pupil's example.

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. 

Sunday, 15 February 2015

Go on bore them - A Review

Whether you're a newly qualified teacher starting out on your career, an experienced classroom practitioner, or somewhere in between, you will find something to take away from Terry Freeman's digital publication Go On Bore Them.

The premise of the booklet is how teachers make ICT lessons excruciatingly dull and draws on the author's 30+ years experienced in education as a teacher, inspector, consultant and writer. The book is littered with examples of how teachers have taken a subject, which by its nature is engaging and relevant, and made it boring. More importantly though, each anecdotal error is accompanied by an explanation of why this created a boring lesson, before offering advice on how it could be taught and why such strategies would engage learners.

The advice given is sequenced into the structure of a traditional lesson, working its way from starter through main activities (dealing with under and over-challenge), to the plenary. The evidence Terry uses- selected form his time as an inspector- is presented in a light-hearted way and did, on more than one occasion, caused me to chuckle. The narrative voice that comes through is one of support rather than criticism, as a reader you feel you are benefiting from someone's vast experience. He shows you mistakes that others have made and helps you understand why these choices were to the detriment of learning and offers solutions. Such solutions are based in pedagogy and offer advice that could have a long-term impact on teaching and learning rather than a quick fix for a specific problem. I found it impossible whilst reading this publication, not to reflect on my own practice and on a few occasions my cheeks flushed with colour as I remembered mistakes I had made. 

While this booklet may appear to be about teaching with technology and uses secondary school as it main evidence base, it offers plenty for the non-specialist and primary teacher. Neither is it affected by the changes of Curriculum 2014 whereby ICT has evolved into Computing. This publication is for those who have a growth mindset, who want to reflect on their own practice and who want to create purposeful learning environments. So it should be relevant for any teacher. Put simply this digital booklet focuses on pedagogy, technology is merely the context it uses, and shows that by neglecting how children learn, we really can bore them.

Go On Bore Them, can be downloaded from Terry Freeman's website ICT in Education

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 -

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
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:

Earthquake watch on Google Earth

If you are teaching lessons on natural disasters, then using Google Earth, to show pupils recent seismic activities, is a powerful way to get across the idea that earthquakes of a low magnitude happen frequently.

To launch this, first open the Google Earth then open Earth Gallery.

Next select crisis from the explore menu and open the Earthquakes from the Last Week map, selecting view in Google Earth when the option presents itself. If you are using a computer open the .kml file you have just downloaded, touchscreen devices will do this step automatically.

You are now presented with information about the earthquakes grouped into those that have occurred in the last hour, last 24 hour and last week. In class we used the information to create a database-style information cards using the book creator app.

Saturday, 7 February 2015

Databases using Top Trumps

Top Trump,  a childhood favourite, are a great way of introducing children to databases. A pack of top trumps is a database, they contain records/files and the data is organised into fields, each card has the same set of fields which enables the data to be compared.

I started the unit off by showing children how to create a database using 2investigate by Purple Mash. Each group was given a set of top trumps card and had to input the data from the cards into a collaborative database. When this was finished, the children got to play top trumps for a few minutes before I posed a question about how we could use the database to work out which field had the best chance of winning. I modelled to the children how to search individual fields and how to use greater than and less than searches. The information returned showed them how many cards were better than theirs for that particularly field. They were then able to make a mathematical choice about which field offered them the greatest chance of winning.

At home several children created their own databases from their own trop trumps card, two even created databases by using Wolfram Alpha (a class favourite) to research statistical data about football stadia.

Once the pupils had mastered the skills of designing, creating and searching databases, we moved on to applying the skills in a cross curricular context. In our topic work we had been studying natural disasters, so the children were asked to create a database about volcanoes. Using the idea of top trumps helped them to think about which fields to include: the pupils visualised the data on a top trump card. They then researched and created a database before querying it to answer questions devised by other children.

The children were clearly enthused by this unit of work and using top trumps gave them an easy way to understanding the vocabulary and purpose of databases.  

Ben Davies @b3ndavi3s