LGfL offers J2Code that offers a two level turtle based programming interface and suggested learning activities. Consider moving children from single step programming to multiple step using the advanced option. There is plenty of information on languages available online. For Scratch a good place to start is this inspirational talk by Mitch Resnick or the Educators section on the Scratch website. For an introduction to Logo with signposting to resources try the Logo Foundation. For Kodu, Microsoft's Kodu Gamelab site provides an introduction and resources.

Create and debug simple programs

The best way for pupils to learn what an algorithm is, and how it can be implemented as a program, is to write some programs themselves. Programming involves taking an idea for doing something and turning it into instructions the computer can understand. In the infant classroom this could be writing a set of commands for a Bee-Bot, Pro-Bot or Roamer, or snapping on-screen program building blocks together in Scratch.

When you write a program you need to have a clear idea of what it will do and how it should do it. This is where algorithms come in, and thinking algorithmically is an integral part of the craft of programming.

Most programs don’t work as they should first time round; professional programmers have this experience all the time! One of the most rewarding aspects of programming is finding and fixing these mistakes. Mistakes in programs are called ‘bugs’, and finding and fixing them is ‘debugging’.

The process of debugging often involves identifying that there is a fault, working out which bit of the program (or underlying algorithm) has caused the problem, and then thinking logically about how to fix it. In the classroom, this can provide a great opportunity for collaborative work.

As a teacher, you should identify clear steps that pupils can follow so that they can fix their code. These might involve identifying what the fault is, finding out which part of the code is creating the problem, and then working towards a fix.

Pupils should be encouraged to work together to identify bugs, as programmers are often blind to their own mistakes. Although it might be appropriate to help pupils compare code or identify which section to look at, it is rarely helpful for you to fix a bug for pupils until they have worked through the stages of debugging themselves. Debugging code develops valuable learning skills that are transferable right across the curriculum, such as independence, resilience and persistence.

About

Author

Author: Miles Berry

 

 

Computing at School logo

NAACE logo

Copyright

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License