See this PDF for the concepts explained in terms of cycling. This presentation by Graham Hastings provides an explanation of the key programming concepts as encountered in Scratch.
OFSTED has suggested that it is important that children are able to demonstrate creativity and originality in Computing and are not confined to following instructions. However, just as in maths it is sometimes appropriate to focus on developing a specific aspect of understanding or skill so the same approach may have a place in Computing. LGfL provides J2Code, a sequenced series of challenges in which children need to program to solve problems. Code.org has developed a Computing curriculum (currently beta) that works in a similar way. There is an overview of the activities and learning outcomes, and the challenges are organised into three different courses with courses 2 and 3 aimed at KS2 aged children. It also features interspersed unplugged activities.
There is plenty of information on these 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.
Use sequence, selection, and repetition in programs; work with variables and various forms of input and output
Sequence in this context is the step-by-step nature of computer programs, mirroring the sequence of steps the algorithm would list.
Selection refers to instructions such as if ... then ... otherwise decisions in which the operation (what the program does) depends on whether or not certain conditions are met. For example, a quiz provides different feedback if the player answers the question correctly or incorrectly. It is helpful to refer pupils to selections (choices) they make in everyday life; for example, if it rains in the morning, then I will wear my anorak to school, otherwise I won’t.
Repetition is a programming structure such as a repeat ... until loop in which the computer runs part of the program a certain number of times or until a particular condition is met.
In the case of the quiz, we might want to ask ten questions, or keep going until the player has scored five correct answers. Again, it is useful to refer pupils to loops or repetition in daily routines. For example, the traffic lights on a pelican crossing will stay green until someone presses the button to cross the road; an oven heats up until it reaches the right temperature.
There are many loops in the wider world, such as the days of the week or the moon travelling around the Earth.
Variables are used to keep track of the things that can change while a program is running. They are a bit like x or y in algebra, in that the values may not initially be known. Variables are not just used for numbers. They can also hold text, including whole sentences (‘strings’), or the logical values ‘true’ or ‘false’. For our quiz we would use variables to keep track of the player’s score and the number of questions they attempt. Variables are like boxes, in that the computer can use them to store information that can be changed by the user, the program or by another variable.
We may think of input as keyboard and mouse (or touch screen), and output as the computer display, but pupils’ experiences should be widened beyond this. Working with sound is straightforward, as laptops have built-in microphones and speakers. The latest version of Scratch provides support for using webcams. Digital cameras allow interesting work using image files.
The reference in the programme of study to ‘controlling physical systems’ implies the use of sensors, motors and perhaps robotics. Midi instruments like an electronic keyboard, and devices such as MaKey MaKey6 and Microsoft Kinect provide yet further experience of working with various forms of input.