Uploaded by kubus06m


What is PRIMM?
Predict, Run, Investigate, Modify, Make (PRIMM) is an approach that
helps teachers structure programming lessons. It encourages students
to question how programs work.
Planning a lesson with PRIMM
Students should practise using appropriate programming terms and
students should collaborate.
● Questions should be crafted carefully to help students explore the
● Questions should be within the student’s zone of proximal
● Content should be relevant.
Shared artefacts
1. Provide a student with a program they haven’t seen before.
2. Allow the student to run the program.
3. Allow the students to modify the program so they can take
The five stages of PRIMM
Students are provided with a program and predict what it
might do.
Students verify their predictions by running the program.
Investigate Students explore the code to understand how it works.
Students edit the program to change its functionalities.
Students design a program with the same structure but
solves a different problem.
Students should be encouraged to talk in pairs or small groups about the
program away from the computer. This has the following benefits:
● Helps learners use the correct terminology to express their
understanding. Being able to use programming terminology
correctly develops knowledge.
● Verbalising a program allows students to focus on individual parts
of the program and identify links between all parts.
● Question asking and answering enables students to learn from
Read before you write
Reading code before writing is an effective way to learn programming. In
a classroom, students should state the outcome of a small segment of
code with low stakes to encourage everyone to participate.
Code tracing
Code tracing is an approach to help learners develop program
comprehension skills through the reading and analysis of code, before
running it to predict its outcome.
When tracing code, learners review and predict the expected outcome of
program sections. Learners trace the code, line by line, and predict the
outcome of each line.
Code tracing should be done away from the computer to prevent
students’ instinct of running code rather than reading code.
To trace code effectively, learners must have an understanding of the
notional machine, which is how a learner perceives a computer to
process instructions and data.