The National Curriculum for Computing sets high expectations for the teaching of programming in primary schools. Pupils are expected to understand and apply the concepts of programming (sequence, selection, repetition) to create, ideally, their own programs. The popular online SCRATCH programming environment is one way of introducing pupils to the concepts of programming. The graphical user interface, rather than text coding, provides a visual way for pupils to build their programs and test them out. It has unique and powerful features and components that can be used at a more advanced level.