Skip to main content
School ICT NewsTeaching Through TechnologyTips

Summer Term 2024 Curriculum blog

By 10th July 2024No Comments

Pedagogical Approaches for Programming

“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.”


So what does pedagogy in computing look like?

To kick start your understanding of pedagogy in computing, the National Centre for Computing Education has produced this great poster ‘12 principles of Computing Pedagogy’.  This issue focuses on specific pedagogical strategies to effectively teach programming in the classroom.

Structure Lessons: PRIMM

The PRIMM approach (Predict, Run, Investigate, Modify, Make) is a structured method for teaching programming in primary schools. It guides students through stages that build their understanding and skills. PRIMM can be used in a single lesson or throughout a unit.

  • Predict: Pupils are shown a piece of code and asked to predict its behaviour.
  • Run: Run the code to compare their predictions with the outcomes.
  • Investigate: This stage encourages learners to delve deeper into the code’s structure. One activity for this might involve having learners annotate the code to demonstrate their understanding of the different coding blocks used. In platforms like Scratch and MakeCode, this can be done digitally by right-clicking on any block and selecting ‘add comment’.

Pedagogical approaches for programming pic 1

  • Modify: Pupils make changes to the code. For example, if the original code produced a small red square, pupils might be tasked with altering the colour or size. In a game they might be asked to change the sprites or the direction of movement.
  • Make: Pupils apply what they have learned to create their own programs.

Work Together: Pair Programming

In computing lessons, our pupils may already work together on a shared device due to limited resources; however, research suggests that Pair Programming is an effective pedagogical approach to teaching programming.  In Pair programming, the pupils are given a distinct role to follow: the driver and the navigator. The driver is responsible for typing the code and managing the computer. Their focus is on the implementation of the code, writing it correctly, and ensuring it runs as expected. The navigator guides the driver by reviewing each line of code as it is written, spotting bugs, and suggesting improvements.

The key to successful pair programming is regular role swapping. After every 5-10 minutes, ask your pupils to swap roles. Evidence suggests same ability pairs work more effectively for this approach. This video from that can be used to introduce this method to your pupils

Foster Program Comprehension: Parson’s Problem

A Parson’s Problem is like a jigsaw puzzle where students are given all the necessary coding blocks and must arrange them correctly. This reduces cognitive load by eliminating the need to find coding blocks and is an excellent scaffolding technique. For example, a Parson’s Problem for drawing a square in Scratch can be found here.

Implementing Pedagogy in Computing Lessons

These are just a few effective pedagogical approaches for teaching programming in primary schools. Demonstrate these methods in your next staff meeting and discuss how to incorporate them to make computing inclusive for all students.

For further reading, visit the National Centre for Computing Educations Pedagogy page or download “The Big Book of Computing Pedagogy” from Hello World for more insights and classroom applications.

If you’d like to find out more about this topic, or any other curriculum support area, including consultancy, training, IT services or MIS support – please contact us on: 0345 222 6802 – option 4 or e-mail:

Teaching Through Technology - Supporting you to help and inspire students and to ensure you get the best use out of all the technology you already have in school!

Leave a Reply