National Curriculum for Computing

National curriculum precisely defines computing education requirements for each of the key stages of compulsory education. At Educademy, we follow the national curriculum. We also build on top of that to make sure the children receive the best computer science education possible. Please find below the national curriculum attainment targets [The National Curriculum & The Teachers Standards; SAGE 2018] and how our courses align with them:

Key stage 2

“Pupils should be taught to:

  • design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts

  • use sequence, selection, and repetition in programs; work with variables and various forms of input and output

  • use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs” [The National Curriculum & The Teachers Standards; SAGE 2018]

Our Scratch course for primary school children fits perfectly with the national curriculum. During each lesson, children learn how to combine Scratch visual building blocks into simple sequences. Soon they’ll be organising them into loops (called “repetition” above) and conditional statements (called “selection” in the curriculum). As course progressed children learn how and when to use variables to store and manipulate application state. Children design and implement simple games, taking users input and producing matching output. If something doesn’t work, our tutors will actively work with a child to detect and correct errors (also known as debugging). As the child gains proficiency in building and modifying the code, her/his debugging skills improve as well. 

Key stage 3

“Pupils should be taught to:

  • design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems

  • understand several key algorithms that reflect computational thinking [for example, ones for sorting and searching]; use logical reasoning to compare the utility of alternative algorithms for the same problem

  • use two or more programming languages, at least one of which is textual, to solve a variety of computational problems; make appropriate use of data structures [for example lists, tables or arrays]; design and develop modular programs that use procedures of functions

  • understand simple Boolean logic [for example AND, OR and NOT] and some of its uses in circuits and programming; understand how numbers can be represented in binary, and be able to carry out simple operations on binary numbers [for example binary addition and conversion between binary and decimal]

  • Understand how instructions are stored and executed within a computer system; understand how data of various types (including text, sounds and pictures) can be represented and manipulated digitally, in the form of binary digits”[The National Curriculum & The Teachers Standards; SAGE 2018]

We run 2 courses in parallel - Python and JavaScript. Both of these programming languages offer a different view on the same computer science principles. When designing their own games, our students have to capture and design a model of the world they want to mimic in their application. While implementing it, they have to use appropriate algorithms to make it work. Professional developers have this saying, that “everything works on paper”. Hands-on experience gained through our courses teaches a pragmatic approach to solving complex problems. The national curriculum lists random elements of computer programming knowledge. Educademy courses teach comprehensive skillset to create real-world applications.