What is PRIMM?
The PRIMM method is an approach to planning programming lessons and activities and includes the following stages:
These stages 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.
There are two blog posts on this site about PRIMM that describe the thinking behind this approach:
Why might this be useful?
Many teachers are able to recognise that students can find programming difficult and they can identify the stages that novice school-aged programmers go through in developing skills. However, it is not as easy to specify a particular teaching strategy that will support learners in gaining confidence and a deep understanding of programming concepts. A substantial body of research has identified that reading and tracing code is useful in understanding how program code actually works (and before writing), and other research has focused on adapting existing code to support developing problem-solving skills prepare students for ownership of (and resultant responsibility for) code. Another strand of research is around moving between different levels of abstraction when programming. By recommending a PRIMM approach, we are combining these three research contributions to develop guidelines for teachers that support student learning.
Where does this fit in to computer science pedagogy research?
My slides on strategies for teaching programming (updated for 6th July CAS SE Conference) are here.