Offline or ‘Unplugged’ Coding

Images used in this week’s post are from the Weblify Pinterest ‘coding quotes‘ board. You can also visit their website for more information.

Background and Benchmarks

For years, teachers have been teaching ‘coding skills’ without even realising it.  Teaching coding is not tricky, and if you want proof, just look at the Technologies Benchmarks – most of the digital literacy outcomes can be achieved without even using a computer.  Of course, it is always best to apply the skills that have been learned to ‘online’ coding activities, such as creating games in Scratch and completing code courses on code.org. If however, you are new to coding and are still trying to up-skill yourself in using computers and iPads, unplugged coding is a great way to begin.  For teachers that have been doing coding activities with your children online, and are confident teaching coding skills, unplugged activities are a fantastic way to reinforce learning and apply skills in a different situation.

Let us first look at the Technologies Benchmarks (below) that are most relevant to the ‘computing science’ element of digital literacy.  I have highlighted all benchmarks that can be met through offline coding activities.  Please note that I have only highlighted the ‘primary school’ benchmarks as these are the ones that I am familiar with, however, they should give secondary teachers (especially maths and English) some ideas.

What strikes me the most about this – aside from how many outcomes can be met through offline coding opportunities – is just how many links there are to other areas of the curriculum: even suggestions for learning across the curriculum including problem solving in P.E.

I will do a future post about digital learning across the curriculum, but, if this is your first time looking at the benchmarks for computing science it will hopefully show you just how much scope there is for cross curricular digital learning.

**Please note that there are also Digital Literacy and Cyber Security benchmarks within the technologies benchmarks pages.**

Unplugged Coding Ideas

Early Years

Many people see ‘coding’ as something that only older children / adults can accomplish.  This is simply not true.  Teaching computational thinking can start as early as you like and a lot sooner than you realise.  Even sorting shapes – an activity my sister has been doing with her son since he was just over a year old – is a form of computational thinking.  Looking at the benchmarks for early years, teaching coding is truly a vast and rich way for children to learn.

The very first benchmark makes this the most clear: “Identifies and sequences the main steps in an everyday task to create instructions/an algorithm for example, washing hands.”  We are continually using visual timetables with our infant children to reinforce learning and list a day’s activities.  We are using story boards to describe the sequence of a story.  All of these are computational thinking tasks.  All of these are coding.

Why not take it a step further and, using small diagrams, ask children to ‘program’ their friend to do something, or ‘code’ the teacher to perform a simple task.  It is a great fun learning experience that I have done with P1 many times in the past and plan to do with the nursery children this year in my establishment.

The ‘predicting’ benchmark is also very important, as this is the introduction of ‘debugging’.  Using floor spots is an excellent way to do this task.  Lay out the floor spots and put a teddy on one spot, and another object on a different spot.  Using arrows, the children have to get Teddy to the object.  Moreover, you could draw the arrows, and the children have to work out if teddy will get to the object using your arrows.

First Level

Whilst children in Early Years can achieve the majority of their benchmarks without touching a computer, it is important in first level that there is a good balance between on and offline coding activities.  Reinforcement of skills in different learning environments is vital in developing the logical thinking and problem solving elements required in computer programming.  Simply letting your children only do code courses online will not fully develop their thinking, in the same way that solely doing offline tasks will not let them experience the problem solving aspects of actually using a programming language to solve tasks and create games of their own.

Similar offline activities to the early years should be used, however, children should start to write their instructions down.  Writing instructions for ‘turning off a light’ for example, is a fantastic way of letting children understand how important it is for a computer to be told everything that it needs to know or it won’t operate.

Take the following example of a lesson I did with P4, for example.  In asking the children to code the teacher (me) to turn off the light.  They wrote “press it”.  I was sitting on my chair and read the instruction, so pressed my nose.  The child looked at me like I was insane!  Whilst funny, it was a good learning point for the class, as the next person told me to ‘stand up and walk across the room to the light switch and press it”.  You can then develop the task by placing obstacles in the way for the person to avoid.  You can introduce ‘if’ statements like “if table is in your way, move around table” to stop the teacher crashing into it.  The level of challenge is that which you set.  Differentiation is easy – even that some children may be using arrows / picture prompts, whilst others are writing theirs as a list of commands.

There are lots of offline resources (below) to use with all levels.  These are great for having physical evidence for tracking in addition to developing core skills.

Second Level

By second level, most of the coding experience should be ‘plugged in’, however, there is always time to develop offline coding alongside it.  Instructional writing is a big part of the literacy input in second level, and can be done well as a coding task.  Using printable scratch blocks to format writing in order that it starts to read as computer script is a great way to enable children to really think about what their programming language would look like on a computer.

The biggest problem that children have in second level, when creating their own games online, is debugging and problem solving.  Continually developing children’s problem solving skills and ability across the curriculum really does help with this.

Below are a wide array of resources for offline coding for all stages.  I would highly recommend checking them out.

Resources

  • I’ve put together some printable ScratchJr blocks / arrows for you to use with your children, as not only will they be useful for ‘coding activities’ such as the one above, but will help your children get familiar with ScratchJR itself.
  • Code.org has a fantastic course book that details both their online courses and also gives you a huge wealth of offline, unplugged lessons with full resources and lesson plans.  Available through this link.
  • CS Unplugged has a huge range of unplugged resources and information.  Available through this link.
  • There are some great resources and ideas available on Pinterest.
  • stem.org.uk also have some fantastic unplugged code resources.

Of course, there are many other places that you can go to for ideas and resources – a simple search into google for unplugged coding resources pulls up over 250’000 hits!  My favourites are the above, but mostly I love just letting the children program each other to do things – it’s fun, active and really gets them working together.

I hope that this post has been beneficial and has helped you to think of ways that you can get children to develop their computational thinking skills through every day tasks that benefit other areas of the curriculum.

See you next week!

Donald