Coherence and flexibility
The Teach Computing Curriculum is structured in units. For these units to be coherent, the lessons within a unit must be taught in order. However, across a year group, the units themselves do not need to be taught in order, with the exception of ‘Programming’ units, where concepts and skills rely on prior learning and experiences.
The Teach Computing Curriculum uses the National Centre for Computing Education’s computing taxonomy to ensure comprehensive coverage of the subject. All learning outcomes can be described through a high-level taxonomy of ten strands, ordered alphabetically as follows:
- Algorithms — Be able to comprehend, design, create, and evaluate algorithms
- Computer networks — Understand how networks can be used to retrieve and share information, and how they come with associated risks
- Computer systems — Understand what a computer is, and how its constituent parts function together as a whole
- Creating media — Select and create a range of media including text, images, sounds, and video
- Data and information — Understand how data is stored, organised, and used to represent real-world artefacts and scenarios
- Design and development — Understand the activities involved in planning, creating, and evaluating computing artefacts
- Effective use of tools — Use software tools to support computing work
- Impact of technology — Understand how individuals, systems, and society as a whole interact with computer systems
- Programming — Create software to allow computers to solve problems
- Safety and security — Understand risks when using technology, and how to protect individuals and systems
The taxonomy provides categories and an organised view of content to encapsulate the discipline of computing. Whilst all strands are present at all phases, they are not always taught explicitly.
The units for key stages 1 and 2 are based on a spiral curriculum. This means that each of the themes is revisited regularly, and pupils revisit each theme through a new unit that consolidates and builds on prior learning within that theme. This style of curriculum design reduces the amount of knowledge lost through forgetting, as topics are revisited. It also ensures that connections are made even if different teachers are teaching the units within a theme in consecutive years.
The themes that are regularly covered are as follows:
- Computing systems and networks
- Creating media
- Data and information
- Programming A
- Programming B
The long-term overview shows the units taught for each phase of school and the links to one of the key themes.
<— Click to image to view long term plan for Computing
The unit overviews for each unit show the links between the content of the lessons and the national curriculum and Education for a Connected World framework. These references have been provided to show where aspects relating to online safety, or digital citizenship, are covered within the Teach Computing Curriculum. Not all of the objectives in the Education for a Connected World framework are covered in the Teach Computing Curriculum, as some are better suited to personal, social, health, and economic (PSHE) education; spiritual, moral, social, and cultural (SMSC) development; and citizenship. However, the coverage required for the computing national curriculum is provided.
Weekly scenarios relating to online safety are discussed using ProjectEVOLVE. ProjectEVOLVEaims to provide children with online safety messages that they can reflect on. The resources aim to provide children with the opportunity to discuss based on appropriate questions accompanied by honest and useful information to shape thinking and challenge misconceptions around online safety.
Our approach to the teaching of computing is based on 9 key principles underpinned by research: each principle has been shown to contribute to effective teaching and learning in computing.
Lead with concepts
Support pupils in the acquisition of knowledge, through the use of key concepts, terms, and vocabulary, providing opportunities to build a shared and consistent understanding. Glossaries, concept maps and regular retrieval and revision, can support this approach.
Unplug, unpack, repack
Teach new concepts by first unpacking complex terms and ideas, exploring these ideas in unplugged and familiar contexts, then repacking this new understanding into the original concept. This approach, called ‘semantic waves’, can help pupils develop a secure understanding of complex concepts.
Model processes or practices — everything from debugging code to binary number conversions — using techniques such as worked examples and live coding. Modelling is particularly beneficial to novices, providing scaffolding that can be gradually taken away.
Foster program comprehension
Use a variety of activities to consolidate knowledge and understanding of the function and structure of programs.
Use project-based learning activities to provide pupils with the opportunity to apply and consolidate their knowledge and understanding. Design is an important aspect of computing in which pupils can consider how to develop an artefact for a particular user or function and evaluate it against a set of criteria.
Provide activities with different levels of direction, scaffolding, and support that promote learning, ranging from highly structured to more exploratory tasks.
Use formative questioning to uncover misconceptions and adapt teaching to address them as they occur. Awareness of common misconceptions alongside discussion, concept mapping, peer instruction, or simple quizzes can help identify areas of confusion.
Bring abstract concepts to life with real-world, contextual examples, and a focus on interdependencies with other curriculum subjects. This can be achieved through the use of unplugged activities, proposing analogies, storytelling around concepts, and finding examples of the concepts in pupils’ lives.
Read and explore code first
When teaching programming, focus first on code ‘reading’ activities, before code writing. With both block-based and text-based programming, encourage pupils to review and interpret blocks of code. Research has shown that being able to read, trace, and explain code augments pupils’ ability to write code.
Vocabulary is an important part of the teaching and learning of all subjects including computing. When used appropriately, vocabulary can contribute to a wealth of understanding. It is important that we use computing vocabulary consistently in order to alleviate potential misconceptions. To ensure that all teachers are using vocabulary consistently and accurately, we use a vocabulary glossary. We recognise that correct vocabulary use can support conceptual understanding. We introduce new terms progressively and revisit them often.
<— Click the image to view the vocabulary glossary for Computing