KS3 Programming and development
By far the most significant addition to the new curriculum has been the introduction of programming, at all of the key stages. The most common visual programming environment that students are exposed to is Scratch, the block based language developed by the Lifelong Kindergarten Group at MIT. In recent years Python has established itself as one of the easiest text based languages to learn to program in. As a result a large number of schools are utilising it in their programming courses.
Debugging is one of the key skills necessary to becoming a skilled programmer, but also one of the hardest to teach. It utilises a wide range of skills which are transferable to other subject areas.
The ability to take a problem, analyse what is required to solve that problem, decompose it into appropriate blocks, create algorithms for those blocks and then implement them in code is a key skill that all programmers must eventually master.
Although very few teachers and students are aware of them, version control systems are an incredibly useful tool in the programmer's arsenal. They allow teams of programmers to share code, work on the same parts of code simultaneously, and then reintegrate the results relatively easily.