Category Archives: Teaching Coding

The BIG STEAM Escape Room

I have taken quite a break from blogging, and probably won’t go back to doing it weekly, but I look forward to sharing as often as I can.

Today, I have completed a resource that I have been working on for quite some time – The BIG STEAM Escape room.  It is 30 pages of active STEAM fun that should engage and challenge your learners, and can be reused up to 6 times with the same class.  I will be publishing it to TPT next week as it has taken a lot of time to produce, but am also posting it here for free, and it will remain free on here even after I have published it to TPT.  I would really welcome feedback as it has not been proof-read by anyone other than myself, so if you have a few minutes, I would be really grateful!

I will be using it with my P5/4 class this year, and have purchased combination padlocks (however, it works as a resource without buying anything – you can use the answer cards or even an iPad to the same effect – I just like the idea of the children physically cracking a code!)

The resource should be self-explanatory, so I won’t go into detail here – though, it is too big to put into one file, so it is saved below in sections.

I hope you have an excellent start to your term.  If you do use it, I’d love to hear how your class gets on – please tweet me @mrfeistsclass  with photos, comments or stories from the session.

The BIG STEAM Escape Room Resources:

Teacher page

Answer cards

Rhythm maths

Animal Venn Diagrams

Sudoku

Binary Code Challenge

 

Spheros

I love Spheros.  They have so much potential to really enhance learning and teaching, and really provide you with opportunities to allow learners to apply their learning in different contexts.  They are not cheap though, but they are so versatile that they are a really good investment.

Many schools and councils are purchasing Spheros, so hopefully this blog will be beneficial if you have/are getting Spheros and would like to know what you can do with them.  Even if you aren’t planning on getting them, hopefully this blog will allow you to understand more about them, what they do and how they can enhance the learning of your children.

What are Spheros?

Image from source

I think the New Yorker sums it up the best in their post: “Spheros aren’t just fun; they are also an excellent teaching tool. Students have begun using them to learn everything from geometry to genetics. They can code them, too, to take a first step into computer programming.”

Spheros are programmable toys, similar to Beebots but with far more capability and potential.  In a computer programming context, children can apply their learning of code to make the Sphero perform a variety of actions, such as: drawing shapes, completing mazes, and even to interact with their surroundings.  Movement with spheros isn’t as simple as ‘move forward’ for a set number of steps.  Children have to apply an understanding of angles, speed and time in order for the sphero to move.  They can develop an understanding of the link between speed, distance and time to accurately program their device to move as intended.

Spheros aren’t just for older learners though – there is so much potential for younger learners to use the ‘draw’ feature to manipulate the device.  D&T activities are also notable, as children can design devices that are powered by the Spero – such as a racing car that is driven by the sphero, or even a helicopter whose rotary blade spins as the sphero spins.

There are a variety of different Spheros available – most schools use SPRK+, however all are fantastic.  You can see the full range here.

Below is a fantastic intro video that shows what Sphero Edu is all about:

 

Activities and Resources

Fortunately, getting started with Spheros need not be daunting or tricky; there are a whole host of free resources to use with Spheros.  A Sphero resource guide is available here although is based on the American K-12 system.

The best place to start is the Sphero Education Website.  The activities tab allows you to find fully comprehensive lessons sorted by stage / subject.  It should be noted that Spheros shouldn’t only be used for teaching computer science – there are so many applications across the curriculum that it really is worth browsing the activities site to see what you can do.

Another great resource is your local Apple store.  Did you know that you can take groups of children there for FREE to learn how to use Spheros (you don’t even need your own devices as the store provides them!) . Go to the Apple Field Trip website for more info and to book.

Of course, the other place that I love to go for my ideas is Twitter.  Loads of schools use Spheros really effectively.  Just search for ‘sphero’ in your Twitter search bar, and you will find loads of schools using them and be instantly inspired!

Here are some of my favourite recent examples:

How have I used them?

We’ve actually only just purchased our Spheros in Mosspark, so I have only used them twice with learners.

In the first lesson/few lessons with spheros, I like to let the children get used to syncing, controlling and putting to sleep the Sphero.  I often play ‘Sphero tig’ and other simple improvised games.  Sphero tig is easy – one Sphero is it and sets their colour to green.  The other Spheros are blue.  If the tigger catches a Sphero, it turns red and waits until a blue Sphero frees them by touching them and flashing their light on/off 5 times.  The children really enjoy this and it engages them instantly and allows them to quickly learn to control the Spheros through the ‘drive’ function.

You can follow our journey with Spheros by following @MossparkPS on Twitter.  Here are some of our recent Sphero tweets including our instant hit, ‘Sphero Tig’:

https://twitter.com/MossparkPS/status/1102645988068597760

https://twitter.com/MossparkPS/status/1103702929222057984

https://twitter.com/MossparkPS/status/1102645316082458624

 

I hope that the post this evening has been helpful and has given you ideas about how to get started with Spheros in your own classrooms.

As always, please connect with me on twitter: @mrfeistsclass.  I love getting inspired by everything that you all do.  Feel free to send me suggestions for future blog posts and tag me in Tweets showing how you are using Spheros or any digi tech to enhance learning!

Have a great week

Donald

 

 

 

Mini Game Jam

A short post today (as I have been away all weekend on a STEM residential week, and am about to head out again) but an important one.

This year, I have teamed up with Dr Amanda Ford (Twitter: @aford78) to develop resources for the ever-growing and popular Mini Game Jam.

The Game Jam is a transition cluster event, where P7 classes join with other cluster schools’ P7 classes at their local high school and compete to code the best scratch game on a given theme.  I have joined in this year, as I see it not only as a great opportunity for our children, but also as a CLPL opportunity for staff.  Prior to competing, the children are to be taught four progressive lessons in coding with Scratch that develop creativity as well as digital literacy.  Some very tricky concepts are taught to the children during the sessions, however, it is done in a fun manner with the children creating games.  The idea is that at the end of the project, in the cluster event, the children will be able to utilise these skills in a team with children from one of their local cluster schools that they potentially haven’t met before to design and create their own game on a given theme.

For the teacher, resources (including worksheets, power-points and video walkthroughs) will be provided, and they will be able to learn to code with the children.  Scratch 3.0 CPD sessions have already been held for staff on the first lesson of this project – the maze game – however, more online training will be available shortly from Dr Ford and I would greatly recommend looking into it.

You can find out more about the Mini Game Jam and get in touch with the organiser, Dr Amanda Ford, via the Mini Game Jam website: https://minigamejam.com/ if you would like to get involved.

Exciting posts coming over the next few weeks with more Technology across the curriculum and STEM focussed posts, so do stay tuned!

See you next week,

Donald

Teaching Probability through Scratch

I do love using Scratch to enhance teaching other areas of the curriculum.  Whilst technically the following resource doesn’t enhance the teaching of probability outcomes, it does enhance the overall experience.  I always used to find teaching probability in the initial stages quite boring – I’m sure it’s not a great experience for the children either – “Roll a dice 20 times and record the number of times it hits each side”.  Since I started working with Scratch, however, I now ask the children to code their own dice and test how random it is by counting the number of times it lands on each side.  I use this as a way into probability.  I then ask them to, using the code below, work out how to code other common examples (such as playing cards) that can be randomly selected and record the probability of number / house / colour.  The code is very similar, however more costumes need to be created.

I find that this is quite effective as the children have a deeper understanding after it as they have not only seen the result but have also written the instructions for the ‘how’.

I hope that the following code for a random dice game is helpful and that you can see how to use it for teaching probability.  I should note, if you extend this to cards instead of dice faces, all costumes (card sides) need to be numbered from 1-52 in order that each can be randomly selected – hopefully it becomes obvious in the PPT.  Please feel free to use the below PowerPoint with your learners; I will add the ‘answer’ underneath it on this blog.

Sorry it’s a short post but I am away this weekend.

Have a great week!

Donald

The finished code should look like this:

Coding with Coordinates

An aspect of mathematics that I love teaching is coordinates.  There are incredible resources available that really engage the children – most notably the ‘plot and draw’ type activities in which the children are given a series of coordinates to plot and then join up in a dot-to-dot type exercise.  The resulting image gives great satisfaction to the children as it provides a very instant visual self-assessment for the children to reflect on how well they did: additionally, they often love colouring it in!

Recently, though, in teaching coordinates I have not started as I normally would using sheets and paper, I have started with the below PowerPoint and Scratch coding.  The Scratch interface uses coordinates as a means of locating/moving sprites.  By far, the simplest way to teach children to code sprites to move is for them to understand what it means to alter a sprite’s ‘x’ or ‘y’ position.

One of the first lessons that I do with children, and indeed the lesson that I have started P4 and P5 with this week has been to learn about a sprite’s position and alter it using coordinates.  This PowerPoint serves as my introduction to the lesson and then we learn to code our own sprites to move using what we have learned.  I find that teaching coordinates after doing this lesson is much easier, as children have a much deeper understanding of how the ‘x-axis’ and ‘y-axis’ function.

Let’s quickly look at the brand-new Scratch 3.0 interface so that you too can get your children coding sprites to move ‘when’ buttons are pressed.  I will be leading a CPD session in February in using Scratch 3.0 as part of the upcoming GameJam training – more info to come soon!

***

Below is an image of the scratch interface as soon as you press the ‘create’ button.  On the left hand side you have three tabs:

  1. ‘code’, where you can locate all of the blocks with which you code your sprite.  You can drag these blocks into the blank space to the right of the blocks menu and link them together to create scripts.
  2. ‘costumes’, where you can edit the look of your sprite/backdrop depending on which you have selected.
  3. ‘sounds’ where you can add and edit sounds.

For this lesson, we will only be working with the code tab.

 

Left: Your children can change the size of their sprite and view its position on the x and y axis with the sprite editor section.  They can also select a sprite (by clicking on its icon), delete a sprite (by clicking on the (x) within the sprite icon box, or select a new sprite in the sprite selection menu.

 

***

Hopefully this mini-IDL link will come in handy over the coming weeks/terms.

As always, if you have any questions or suggestions for future blogs, do not hesitate to get in touch via twitter: @mrfeistsclass

 

Have a great week,

Donald

Christmas Coding

This is just going to be a very quick blog post as my main post for this week was published yesterday.  Moreover, this will be my last post until after Christmas, as with all of the concerts and additional engagements at this time of year, finding time to schedule writing is very tricky indeed.

I’m looking forward to seeing lots of you at Mosspark’s Digital School Open Doors on Wednesday.  Please note that this is fully subscribed now with a waiting list, so if you can no longer attend, please cancel your place so that someone else may be able to come!

Below, you will find guides for two simple Scratch projects that can be created with your children in the festive build-up.

Have a very Merry Christmas and see you all in 2019!

Donald

 

 

 

National Coding Week Reflection

A slightly different post this week as I look back rather than forward.  I’m looking back on the fantastic National Coding Week that we’ve just had – 17th-21st September, 2018.  As you will know from my twitter feed and previous blogs, I love coding.  I love the skills that it can help learners to develop.  I love the fact that we are really starting to teach it properly, and we’re aiming to give our children the chance to build their digital futures.

I celebrated National Coding Week in three ways; first, I wrote a blog on ‘The Digital Revolution’ for the National Coding Week Website, which can be found here.  Second, I wrote a blog on ‘Using Technology to Visualise Learning and Tackle Misconceptions’ for Twinkl Scotland, which can be found here.  Finally I published a series of resources and teacher help-sheets on twitter for each day of National Coding Week.  You will be able to find the resources below.

I’m also putting some of the best examples that I’ve found on Twitter of coding in the classroom from #NationalCodingWeek.  Hopefully, this blog will inspire you not only to continue/start coding with your classes, but also will give you the opportunity to connect with other schools and practitioners that are starting coding with their classes.

Day 1 – A great way to start coding with Scratch

Monday’s challenge was an introduction to coding.  This lesson has been tried and tested hundreds of time, and even formed part of Dr Amanda Ford‘s thesis (my partner in crime for creating these resources).

You can find the full downloadable image and accompanying teacher cards here.

The idea of the maze game, is that it’s a fun and fairly simple game for children to create, and each game is very unique to the designer as ‘design’ and ‘creativity’ are probably the biggest parts of it.  It also teaches about ‘looping’ and ‘conditionals’ – two of the most common concepts in computer programming and thus skills that can be transferred into most other programs.

 

 

Day 2 – IDL: Learning music through code

Tuesday was my first example of how coding can be taught across the curriculum.  Digital skills are officially becoming ‘core skills’ in the next update, and so will be a responsibility for all.  I have long believed that computer science should not be taught as a discrete subject, as the skills developed are transferrable to almost every aspect of the curriculum and life.  This set of resources were aimed at giving ideas for ways to teach aspects of music through computer science.  The featured resource was ‘Code your own musical instrument in scratch’, but I also published a breakdown of composition in Scratch and a ‘name that tune’ challenge card.  You can find all of the resources from day 2 here.

 

 

Day 3 – IDL: learning probability with code

Day three was my maths day (although, I did post an additional maths resource for #MathsWeekScotland on Twitter prior to coding week – you can find that resource here.) Something that I love doing in teaching maths is to use coding skills as an introduction into teaching probability.  For this lesson, we are asking children to program their own random number generator by create a dice that ‘rolls’ to a random number.  After the children have ‘coded’ the dice they then test out the randomness of each number using their developing knowledge of data handling, and also test their peers’ games.  Sure, I could have given them each a dice to do it, but I’ve found that this has been much more stimulating in the past and has allowed children to really want to test games and use their creative skills rather than just rolling a dice.  The resources from day 3 can be found here.

 

Day 4 – IDL: coding dialogue and animations

Whilst lots of my learners like creating their own games, many just want to allow their creativity to shine as they bring their stories and scripts to life.  You can do that in Scratch!  I used to love, as part of the children’s learning in literacy, to have the children write their own stories, establishing characterisation, and then bring scenes from their stories to life in Scratch.  The power of Scratch in creating animations is only limited by the children’s own imagination and their understanding of code – you literally can make anything happen, from characters teleporting, to animated talking, to importing your own drawings and bringing them to life.  Whilst they could have filmed each other acting out scenes, this can be limiting and also isn’t always inclusive as there are children who find that situation intimidating.  With scratch, everyone has a chance to create fantastic animations.  Day 4’s resource is a quick guide to creating a simple animation that includes dialogue.  The full resource can be found here.

 

Day 5 – extending learning in the maze.

Variables are a tricky concept to get to grips with.  Scratch does make them fairly easy to work with, however, learners need a lot of exposure to them in order to fully grasp how and when to use them.  By taking the maze game – a game that the children are already familiar with (from lesson one) we can extend the game and add challenge to it by using the variable ‘time’.  This is a great way to introduce the concept of a variable as ‘time’ (in addition to score) are the most commonly used ‘visible’ variables in gaming, and the children will be used to seeing them in the games that they play.

The full resource can be found here.

 

 

 

Your examples

There was so much amazing work going on across Scotland that it was hard to choose only a few examples to feature in this blog post.  You can see all of the tweets posted during the week by using #NationalCodingWeek.

 

 

 

 

 

 

 

 

 

 

 

 

 

I do hope that you’ve all enjoyed #NationalCodingWeek as much as I have!

Have a great week everyone, see you next week!

Donald

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

 

 

 

Teaching Coding for the First Time

Please note, feature image is from Learn 2 Code and has been used in this post with permission.  For more information about the Learn 2 Code website, please click here.

***

Truth

I get it, I really do.  Technology is progressing far more quickly than anything we have ever had to ‘keep up with’ historically, and, whilst our world is evolving, education is falling behind.  We are preparing our children for jobs that don’t even exist yet in a truly digital world.

Look at how far technology has come in the last decade and think, in a decade’s time when our current primary children are graduating into a world of opportunity; what will that opportunity look like?  Truthfully, we don’t really know.  What we do know is that computing will play a huge role in it and it’s our job to give them the skills and tools to work with it.

“But that’s okay for you; you can code!”  I’ve had that said to me on more than one occasion.  How wrong that statement is.  I’m not a programmer or even vaguely competent at coding – anyone who has seen me making my own games in Sratch will know that.  But, we aren’t teachers because we are professional coders.  We are teachers because we are professional learners.  I had to teach coding, so I learned the basics of coding with blocks.

Four years ago, I didn’t know anything about computer coding let alone how to teach it; however, as ICT coordinator at the time in my previous school, I was asked to teach it.  I was scared, I had to find training, I had to look into it and I had to learn quickly because I had no choice.  We are all at that stage now – we all have no choice.  Teaching coding is part of developing children’s digital literacy and we must begin to do it effectively.

Below, I will note the way that I have found through personal experience and in training others to be the best route into teaching coding.  It is very progressive, and allows you as a practitioner to learn and develop at the same time as your children.  It is not threatening and you really can just get started and have fun.  There are many, many other coding websites and resources out there, so please do look into as many different ways as you can to give your learners the best possible experience; this is simply the route into coding that I have found to be the easiest from a teaching and learning point of view.

I have indicated the appropriate class-stages for each subsection below in order to save you taking time to find resources appropriate for your class.

Code.org

code.org is fast becoming the ‘go-to’ website for getting started with coding.  It is really engaging and really progressive and I will always recommend starting here.  Better still, code.org can be accessed on any computer or tablet with internet connectivity.  I will outline all of the benefits of code.org below, but it is really important to note that anyone can start using code.org, and you could even try it with your children tomorrow without ever having looked at it first – it really is that straight forward.

Hour of Code (P4-7)

When I started teaching coding, after some research into it, I was in a school that did not (at the time) have a ICT suite / computer room.  It didn’t even have a laptop trolly.  What it did have was 2-3 desktop computers in each classroom.  Whilst there were some benefits to having continual computer access for children, there was no way in this setup to facilitate whole class computing lessons.  Having spent hours researching how to use Scratch (I’ll talk more about Scratch below) I realised that I’d need to find something that allowed children to learn much more independently.  Fortunately, that’s when I discovered code.org’s fantastic ‘Hour of Code’ page available at code.org/learn.  Thanks to the nature of the Hour of Code courses, I was able to assign slots in the timetable for children to get ‘their turn’ coding and working through the given course.

The hour of code is exactly what it sounds like: a one-hour coding course that children can work through on their own or with a partner.  I do find that coding works much better in pairs, as coding is quite a communicative task where children will naturally work together and troubleshoot with their partner, whereas when learning individually I do see more children ‘giving up’.  Moreover, the courses are all designed around games/films that the children know and love, and it really does engage them.  What’s more, for less able readers they can ‘play’ the instructions (I’d recommend headphones for this…) and for children with EAL, you can use code.org in any language; simply select the child’s language from the dropdown menu!

Since that time, I have used Hour of Code courses as a great introduction to coding for all of my classes in P4-7.  An able P3 class could possibly manage it too, but I’ve not tried it yet with any P3 classes.  There are some courses available on the code.org/learn page that take you to different browsers – I wouldn’t recommend these.

The most popular hour of code course with the children that I have taught are:

  • Angry Birds
  • Flappy Birds
  • Star Wars
  • Minecraft (all three Minecraft courses available under the Minecraft tile – although I’d recommend ‘adventurer’ as the best starting course)
  • Moana
  • Code with Anna and Elsa
  • Code Your own Sports Game

The developers do continually add new games and tiles, so it’s always current for the children and very engaging.

Code.org courses (P1-7)

studio.code.org/courses is the section of code.org that really provides the most personalised and tailored progressive coding experience.  As it is based on (I believe) the American education system, the ‘stages’ don’t exactly correlate to the Scottish classes, but I will provide an overview below of what has worked for me.

For primary, you want to be using the Grades K-5 tab.

I have used code.org courses with all of my classes with little issue, including primary ones from their second term in school (I think it’s beneficial in term one to use Microsoft Paint for children to use mouse control to draw pictures)

The progression that I have followed is:

P1 – Course A (Lessons 1-7)
P2 – Course A (Whole course)
P3 – Course B
P4 – Course C
P5 – Course D
P6 – Course E
P7 – Course F

Please note though that you may wish to use more/less advanced courses for your class, however, I have never had any problems with the above progression and this allows all children to develop their skills yearly.  Whilst some courses start very simply, they all develop in a very progressive manner that is aimed at deepening core understanding of the concepts.

Within each course are ‘unplugged activities’.  These are lessons that you can print off and work on with no access to a device with your children, and generally explain a new concept in a practical manner.  In the past, I have skipped these and it really is optional to do them or not.

Assigning work (p1-7)

You will notice at the top of code.org that there is a ‘sign in’ option.  It is free to set up a code.org account, and you can add your students, generating usernames and passwords (picture passcodes for infant classes, where they select ‘their’ picture).  By doing this, you can track pupil progress and get analysis about their learning and next steps: as I said, it is the most progressive coding course out there!

Code.org – the role of the teacher

I use the term ‘teacher’ quite lightly in this section, as actually you are more a facilitator in code.org lessons.  My first rule is NEVER show a child how to solve a code problem.  The main learning, in addition to instructional writing and often maths concepts, that your children will access from coding is problem solving – known in this case as debugging.  When something goes wrong, the children must work it out themselves.  That’s not to say you can’t help, but instead of showing a child, ask things like “why do you have… block” or “what is the purpose of…” or “why is your character ending up there?”  By ‘solving’ a code problem for a child, you’re effectively saying, I can do it so ask me rather than asking the children to develop their resilience.  Coding should not be quick and easy, and code.org is very good at giving the children just the right level of challenge – heck, even I am sometimes challenged by the problems, but the smile that comes over their face when they solve the problem is so worth it.

The only time I do ‘show’ the children how to do something is when a new block is introduced.  I pick one level from the lesson and solve it in front of the children, modelling how the new block is used.  I normally deliberately make a mistake in front of the children and debug it with them to show them that it will happen, and that mistakes are very helpful in coding, as they indicate how to improve.

Scratch JR (P1-3)

Please note that this is an app, so you will need a tablet device for your children to access ScratchJR.

There are many great apps for coding out there, but few give younger children the power to design and create as well as ScratchJR.  ScratchJR is a free app, and very powerful.  I would recommend using the code.org course with your children before using ScratchJR, as it is essentially a ‘blank canvas’ app, where children create something from scratch.

You may want to familiarise yourself with ScratchJR before using it with your children.  There are many resources available for ScratchJR lessons.  Here are two of my personal favourites:

 

Scratch (P4-7)

Essentially the ‘big brother’ of all school coding platforms, Scratch is one of the most powerful programs out there.  As of August 2018, Scratch 3.0 (in Beta at the time of this post) works on computers and tablets with internet access.  Scratch is also however the reason that so many teachers fear coding as it’s a blank canvas with a lot of blocks and options.  Fortunately, if your children have worked their way through the code.org courses, they will be quite familiar with the blocks, as it is very similar, and will be able to use Scratch quite well.  The only limit is their creativity.

There are limitless resources available for teaching Scratch, but I would recommend familiarising yourself with Scratch, or attending CPD courses in your area before using it in the class.  Great teaching resources can be found the following places amongst many others:

I have added and will continue to update a list of Scratch resource websites on my ‘resources and lesson plans‘ page.

 

Conclusion

Providing your children with weekly access to coding experiences, whether online or offline, will hugely boost their attainment in literacy and numeracy as well as in computer science.  Problem solving, instructional writing, using axis and coordinates, angles, measure, logic, communication and collaboration – these are just a few of the skills that children develop when coding.

I was sceptical before I started teaching coding; but is is one of these things that you will not see the benefits to your children until you start giving your children experience of coding.  Don’t be afraid to try it, and don’t be afraid to learn with your children.  We are all on a digital journey together – where our destination is, who knows? But it’s going to be a good one!

 

I will be creating additional future posts about coding, including unplugged coding and also coding with programmable toys and devices.

 

Additional CLPL opportunities can be found here:

*Barefoot – free resources and training to build confidence in teaching computer science

*Computing at School – free articles, resources and training in computer science