Promoting effective computing pedagogy
Effective pedagogy is at the heart of good teaching and learning; successful computing teachers combine their knowledge of the subject with evidence-based teaching practices. As computing is a relatively new discipline, evidence of effective teaching approaches continues to emerge and evolve.
How we teach computing
The work of the National Centre for Computing Education is underpinned by 12 principles of Computing Pedagogy, which are available to download as a poster (PDF, 234Kb). The materials on this page were created by the Raspberry Pi Foundation as part of the National Centre and are licensed under the Open Government Licence v3.0.
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 displays, along with regular recall and revision, can support this approach.
- Quick Read: Concept maps (PDF)
- Podcast: What is computing? (18 October 2019)
Work together
Encourage collaboration, specifically using pair programming and peer instruction, and also structured group tasks. Working together stimulates classroom dialogue, articulation of concepts, and development of shared understanding
- Quick Read: Pair Programming (PDF)
- Quick Read: Peer Instruction (PDF)
- Podcast: Peer Instruction (7 May 2020)
Get hands-on
Use physical computing and making activities that offer tactile and sensory experiences to enhance learning. Combining electronics and programming with arts and crafts (especially through exploratory projects) provides pupils with a creative, engaging context to explore and apply computing concepts.
- Quick Read: Physical computing (PDF)
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 (semantic waves) can help pupils develop a secure understanding of complex concepts.
- Quick Read: Semantic Waves (PDF)
Model everything
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.
- Quick Read: Worked Examples (PDF)
- Quick Read: Live Coding (PDF)
- Podcast: Live Coding (19 March 2019)
Foster program comprehension
Use a variety of activities to consolidate knowledge and understanding of the function and structure of programs, including debugging, tracing, and Parson's Problems. Regular comprehension activities will help secure understanding and build connections with new knowledge.
- Quick Read: Program Comprehension (PDF)
Create projects
Use project-based learning activities to provide pupils with the opportunity to apply and consolidate their knowledge and understanding. Design is an important, often overlooked aspect of computing. Pupils can consider how to develop an artefact for a particular user or function, and evaluate it against a set of criteria.
- Quick Read: Project based learning (PDF)
Add variety
Provide activities with different levels of direction, scaffolding, and support that promote learning, ranging from highly structured to more exploratory tasks. Adapting your instruction to suit different objectives will help keep all pupils engaged and encourage greater independence.
- Quick Read: Variety within teaching and assessment (PDF)
Challenge misconceptions
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.
- Quick Read: Addressing learners' alternate conceptions (PDF)
- Quick Read: Peer Instruction (PDF)
- Podcast: Peer Instruction (7 May 2019)
Make concrete
Bring abstract concepts to life with realworld, 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.
- Quick Read: Culturally relevant pedagogy (PDF)
Structure lessons
Use supportive frameworks when planning lessons, such as PRIMM (Predict, Run, Investigate, Modify, Make) and Use-Modify-Create. These frameworks are based on research and ensure that differentiation can be built in at various stages of the lesson.
- Quick Read: PRIMM (PDF)
- Podcast: The PRIMM approach (10 December 2020)
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.
- Quick Read: Code Tracing (PDF)
- Podcast: PRIMM (PDF)
Pedagogy Quick Reads
These short monthly documents present a summary of a topic, the key points and considerations, as well as links to the original sources.
See all quick readsResearch Bytes Newsletter
Our half-termly newsletter provides a bite-sized summary of computing education research, insights from classroom teachers, as well as suggested reading.
Read the latest issue- See past articles
- Receive Research Bytes by email (requires a Teach Computing account)
Pedagogy Reports
Our teaching and learning reports take a deep dive into progression and pedagogy with the computing curriculum.
See our impactPedagogy Focused Courses
We offer a number of courses that specifically focus on exploring and developing effective pedagogical practices within computing.
View coursesTeach Computing Podcast
For 12 episodes our podcast examined different questions, challenges or practice relating to computing education through conversations with classroom teachers and other experts.
Listen to all 12 episodes