As computing teachers, you may be used to the traditional way of teaching programming. Perhaps it is how you were taught programing in school. In this article, author and teacher Evans Chikasa explores the use of the PRIMM teaching strategy and shares a downloadable PRIMM lesson plan and ideas.
As technology advances, we have in the recent past seen a rise in the number of students taking computing courses. Children as young as six or seven are now taking coding classes, making our roles as computing teachers even more exciting. However, exciting as this may be, one of the notable challenges we face is finding effective strategies and methodologies to teach areas of computing, such as programming, in the simplest way to the learners. You will agree that programming, if not well taught, can be one of the most challenging concepts for learners to grasp.
Our teachers or lecturers often introduced a construct or concept in class, demonstrated on the board with an example of how to use it and then asked us to implement or solve a similar problem. The PRIMM technique has proved its effectiveness in delivering computer programming lessons, allowing learners to use language and dialogue to improve their understanding.
So, what is PRIMM?
PRIMM stands for Predict, Run, Investigate, Modify and Make. Each letter in the acronym PRIMM represents a different stage of solving a programming problem. PRIMM was first introduced in 2017 by Dr Sue Sentance, so it is a relatively new but effective method of structuring programming lessons. The downloadable PRIMM lesson plan linked below is a helpful tool if you are new to this method.
Steps to take when planning a PRIMM lesson
When planning a lesson using PRIMM, you must start by thinking about the topic, concept, or problem you want the learners to solve. The problem could be in the form of an algorithm, such as a flowchart or pseudocode. It could also be a program code in a programming language that the learners are learning. In this article, we will look at how you can use PRIMM step by step to plan an exciting lesson on using the algorithm constructs iteration and selection to perform arithmetic operations.
You will need to prepare the problem or concept you want your learners to look at beforehand. For example, let’s say we want learners to learn how to make multiple decisions based on certain conditions and series of inputs. We will use the algorithm below.
1. Predict
In the Predict stage, learners can work in pairs or small groups. Give them sample data to use as input for the algorithm and ask them to predict the outcome. The idea is to get them thinking about the problem and develop the necessary vocabulary as they interact with their friends. In this stage, the learners are simply making a prediction, so it is okay for them to get it wrong. Obviously, this should encourage all of them to take part and predict the outcome.
Provide the learners with the following data set as input for the above algorithm.
- 20
- 25
- 30
- -15
- -20
- 26
- -999
2. Run
During this stage, learners are provided with sample data and asked either to run or dry-run the program and note the output. The idea is to have the learners compare the results from the program with their predicted results in the Predict stage. Learners will make sound judgement with the help of the teacher. You can provide learners with a table as shown below so they can record their results.
3. Investigate
Prepare questions to guide learners’ investigations. For example, you can focus on specific lines of code, or group of codes, or the relationship between one part of the program to the other, or the whole program. For example:
- How is the data input?
- How does the program decide which action to perform?
- What’s the criteria for printing the result?
- How is the program preventing division by zero?
4. Modify
Encourage the learners, working in pairs or as individuals, to change an aspect of the program or algorithm and observe the outcome. You can also remove any scaffolding as learners become more confident working with the problem.
- Ask them to identify which parts of the program or algorithm need to be changed
- What is the change that needs to be made?
- Ask them to re-write the algorithm with the change
5. Make
Finally, give learners a similar problem to solve. Ensure they have opportunities to apply the concepts they have covered. Learners can translate the pseudocode to flowchart or program code. This can be considered as the challenge of the lesson.
When we use PRIMM to engage learners with the algorithm, it is essential to understand that you can do the steps of PRIMM in multiple lessons, not necessarily one lesson. For example, you can focus on the Predict and Run stages in one lesson. In another lesson, you can do the Investigate and Modify. It is also okay to spend the whole lesson on one stage, such as the Modify or Make stage, just as doing all the stages in one lesson is okay too. It is also possible to have different learners doing different stages. You can judge well as a teacher because you know your learners better.
Visit our website to find out more about our new Cambridge Lower Secondary Computer resources or click below to access the downloadable PRIMM lesson plan.