Skip main navigation

£199.99 £139.99 for one year of Unlimited learning. Offer ends on 28 February 2023 at 23:59 (UTC). T&Cs apply

Find out more

What is PRIMM?

PRIMM stands for Predict-Run-Investigate-Modify-Make. It builds on the Use-Modify-Create model. PRIMM was introduced by Sue Sentance in 2017 [1] and pulls together known effective teaching practices into one, structured framework.

PRIMM stands for Predict-Run-Investigate-Modify-Make. It builds on the Use-Modify-Create model.

PRIMM was introduced by Sue Sentance in 2017 [1] and pulls together known effective teaching practices into one, structured framework. Sentance et al. [2] published an article about the effectiveness of this approach in April 2019. The study tested the PRIMM approach in 13 schools with 493 learners and found that learners following the PRIMM approach performed better than the control group. Several teachers in the study noted that the approach enabled ease of differentiation. To read more about PRIMM, look at these PRIMM materials and activity sheets. You can also look at this worksheet from the Teach Computing Curriculum that takes students from the Predict stage to the Modify stage — the Make stage would then be included either in the following lesson or at the end of a sequence of lessons.

PRIMM Stages in More Detail:


Learners are presented with a program to read and try to predict what it will do. Learners should verbalise and discuss their predictions before writing things down. The Predict stage works well as a paired or small group activity. This helps to build the necessary vocabulary through dialogue. Learners should be focused on what will happen when the code is run.

The programming example that you provide for your learners should include familiar programming constructs and introduce only one or two new concepts.


This is where learners get to test their predictions from the previous stage. It is important to remember that the educator is an essential element in the success of the PRIMM approach. The educator can provide structure at this stage and use discussion to help the learners verbalise the function of the code and see whether it matched their predictions.


The Investigate stage uses questioning techniques that are linked to work produced by Schulte in the Block Model. The focus of the model is code comprehension.

The model uses four levels of understanding:

  • Atomic: individual lines of code or even sections of those lines of code
  • Block: groups of adjacent lines of code that link very closely together
  • Relational: lines of code that are related but are not next to each other
  • Macro: the entire program or larger subprograms depending on the size of the project

The educator should prepare activities or questions for the learners to complete while investigating the code. The questions should be designed to cover all aspects of the Block Model. Example activity types are:

  • Tracing, where you look at variables in a piece of code and trace their values throughout the running of the program. Tracing allows a learner to develop their logic skills. Learners should be able to confidently trace code through sequences, selection statements and loops.
  • Explaining, which can happen in pairs verbally to help support vocabulary development. Learners should be able to explain at each level of understanding in the Block Model, starting at the atomic level.
  • Annotating, where learners comment on each line or block of code by stating what it does.
  • Debugging, which ensures that the code works when the learner is investigating it. You might intentionally add a minor logic error or a piece of code that is not needed. Learners are then given activities to spot where those errors might be happening.

By using the Block Model to develop activities and questions, you can try to pinpoint where a learners’ misconceptions are. If a learner has a gap in their understanding, they are most likely missing a level of understanding from the Block Model. You can then target questions and activities at those specific areas to help support your learners.

You can find out more about the Block Model by reading the Block Model Quick Read.


The Modify stage in PRIMM is very similar to the Modify stage in Use-Modify-Create. Learners complete a variety of modifications to the code that they have previously investigated, with an increasing level of challenge. The scaffolding is carefully removed as learners become more comfortable with the new concepts that they have learnt.


For the Make stage, learners are given a new problem to solve that uses the same structure and concepts that have been learnt. This gives them time to apply new learning in a familiar setting. The Make stage should involve algorithm design in which learners use their computational thinking skills to break the problem down into sub-goals and produce an algorithm for the solution.


  • Have you tried using PRIMM in your lessons before? If so, what successes and challenges did you experience?
  • How often do you ask your learners to trace code in your programming lessons? Is this something that you might use more after reading this step?

Further reading

[1] Sentance, S. & Waite, J. (2017) PRIMM: Exploring pedagogical approaches for teaching text-based programming in school, In: Barendsen, E. and Hubwieser, P. (eds.) Proceedings of the 12th Workshop on Primary and Secondary Computing Education, 8–10 November 2017, Nijmegen, The Netherlands. New York, ACM. pp. 113–114.

[2] Sentance, S., Waite, J. & Kallia, M. (2019) Teaching computer programming with PRIMM: a sociocultural perspective. Computer Science Education. 29 (2–3), 136–176. Available from:

This article is from the free online

Programming Pedagogy in Secondary Schools: Inspiring Computing Teaching

Created by
FutureLearn - Learning For Life

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education