Computer Coding at a Primary Level
As a year 6 teacher and ICT Subject Leader, I am all too aware of how the term 'ICT' has become muddled over the years. Some use it to refer to an extension of a lesson: 'Let's type our stories up in ICT'. Others use it to refer to equipment: 'How are you using ICT in your lesson?'. Some use it to refer to an explicit subject: 'This afternoon we're doing ICT'. However, even as an isolated subject, the muddying of the term has resulted in less and less explicit teaching of computing skills.
By replacing ICT with Computing, a clear message is being sent to schools; here is a brand new subject which demands a brand new focus - the teaching of computing skills and in particular, computer science. But where does this leave teachers who have always presumed computer science to be an A-level subject, or even a degree? Talk of 'algorithms', 'variables' and the need for 'simulating physical systems' will no doubt fill many teachers with fear, but it needn't.
The new primary computing curriculum can be broken up into three main areas:
- Computer Science (let's call this ‘programming')
- Information Technology (let's say 'how things work’)
- Digital Literacy (let's say 'using software purposefully’)
For experienced teachers, Digital Literacy will feel very much like the ICT we are used to and will include skills on using Office applications, searching for information and E-safety. Information Technology requires children to have a basic understanding of how computer networks and computer systems work, but note the word 'basic'. These are both important areas of the new curriculum, but very much the focus is on programming.
How to get started
The key to getting started with computer programming is to dispel some of the myths that it is incredibly complicated and to gain an understanding of some of the terms used in the curriculum. Take 'algorithm' as an example. This is nothing more than a sequence of instructions, such as 'Move forward, turn left, pick up cup' etc. The easiest way of teaching this to children isn't in the computer room and it's not through tablets or with expensive software; it's through fun 'instruction based' role play in the classroom. Have students instruct their partner to 'put on a pair of socks', 'make a glass of squash' or 'make a jam sandwich'. Through the hilarity that ensues, students will be learning four of the most important programming concepts:
- precision is key; whatever an instruction is, will happen
- one event can cause, or trigger, another
- when things go wrong, there is a need to 'debug', which means to break the problem up and identify what went wrong, why and how it should be fixed
- when it works, it can be repeated time and time again
- These skills will develop and grow as students become more skilful programmers.
Writing your first program
Once your students have started to understand the basics of what an instruction is and how one thing can cause another, they can write their very first computer program. Don't be put off thinking they now need to make a huge leap into a strange programming language made up of ones and zeros or technical terms; nowhere in the new curriculum does it mention specific programming languages that should be used. Instead, there is a range of software available that allows students to 'drag and drop' blocks of code into a sequence to create their own programs. Let's explore two such options; Lego Wedo and Scratch.
Lego Wedo is a Lego robotics kit and accompanying software for primary aged children. It offers an excellent introduction into how blocks of code can be combined to programme a physical system. The benefits of combining programming with robotics is that students will immediately see the impact of their programming in real life, helping to bridge the gap between 'virtual' code and 'real life' systems.
The basic kit comes equipped with two sensors and a single motor to be used as input and output devices respectively. By combining values from the sensors with commands to turn the motor, basic scenarios can be created. When combined with an understanding of loops, students will have developed the building blocks of how computer programs work.
Scratch is a free application (downloadable or web based) created by the MIT in America. Although it can be used alongside physical systems, such as Lego robotics, its primary purpose is for programming objects on the screen, known as 'sprites'. Through this software students are able to take their programming skills to the next level, developing their understanding of variables and 'if else' statements. These two concepts provide the backbone of all applications and enable students to write programs that will respond to the actions of the user, such as games and quizzes.
As with Lego Wedo, all of this is achieved without writing a single line of code; programming blocks are simply dragged and dropped into place to create sequences of code.
As I hope you have seen, computer programming needn't be something we fear. By using the right tools it is possible to create complex programs without writing a single line of code. Does this matter though? Are students really learning to program if they're not writing any code? I believe so.
The greatest gains to be had in teaching programming will not come through students being able to recall countless programming terms, but instead will be through developing students to think as programmers. One of the most exciting opportunities I feel the new computing curriculum offers is that of developing the way our students approach problems. Do they think logically? Do they break large tasks up into achievable, smaller tasks? Do they look to find mistakes in their work and fix them? Do they have resilience when things don't work first time? Can they work as a team? Computer programming can help develop all of these skills and I believe the benefits will be felt across the curriculum.
This article was originally commissioned by Imaginative Minds for their E-Learning Update publication.
Cropped banner image source: https://www.flickr.com/photos/orqwith/5215254032
Used under creative commons.