< All projects


PRIMM is an approach to planning programming lessons and activities and includes the following stages: Predict, Run, Investigate, Modify and Make. In this approach, rather than copying code or writing programs from scratch, beginners instead start by focussing on reading working code.

The five stages of PRIMM are used in planning lessons and activities and are designed to support learners at all stages of learning programming in school, not just complete beginners. More recently, we’ve been investigating the role of language  in the programming classroom.


Sentance, S., & Waite, J. (2021, August). Teachers’ Perspectives on Talk in the Programming Classroom: Language as a Mediator. In Proceedings of the 17th ACM Conference on International Computing Education Research (pp. 266-280). https://doi.org/10.1145/3446871.3469751

Sentance, S., Waite, J., & Kallia, M. (2019, February). Teachers’ Experiences of using PRIMM to Teach Programming in School. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (pp. 476-482). https://doi.org/10.1145/3287324.3287477

Sentance, S., Waite, J., & Kallia, M. (2019). Teaching computer programming with PRIMM: a sociocultural perspective. Computer Science Education, 29(2-3), 136-176. https://doi.org/10.1080/08993408.2019.1608781

Sentance, S., & Waite, J. (2017, November). PRIMM: Exploring pedagogical approaches for teaching text-based programming in school. In Proceedings of the 12th Workshop on Primary and Secondary Computing Education (pp. 113-114). https://doi.org/10.1145/3137065.3137084

Other reading

PRIMM: Encouraging talk in programming lessons
Teachers’ perspective of talk in the programming classroom: Language as a mediator
I Love Computing Conference Presentation
Quick Read: Using PRIMM to structure programming lessons
Using the PRIMM approach at primary level
The I in PRIMM
What is PRIMM? (Video interview with Sue)
PRIMM: encouraging talk in programming lessons — Sue Sentance