Teaching computer programming with PRIMM: a sociocultural perspective
Computer Science Education
MetadataShow full item record
Background and Context: With computing now becoming a mandatory subject in school in many countries, there is a need for clearly deﬁned pedagogical strategies to support all learners; this is particularly pertinent when teaching computer programming, which novice adults have struggled with for decades. Vygotsky’s sociocultural theory emphasises the importance of language, mediation, and the transfer of skills and knowledge from the social into the cognitive plane. This perspective has inﬂuenced the development of PRIMM (Predict, Run, Investigate, Modify, Make), a structured approach to teaching programming. Objective: The objective of the study was to ﬁnd out if using PRIMM to teach programming had an impact on learner attainment in secondary school, and the extent to which it was a valuable method for teachers. Method: We evaluated the use of PRIMM in 13 schools with 493 students aged 11-14 alongside a control group, using a mixed-methods approach. Teachers delivered programming lessons using the PRIMM approach for 8-12 weeks. Data were collected via a combination of a baseline test, a post-test to compare control and experimental groups, and teacher interviews. Findings: Learners who participated in the PRIMM lessons performed better in the post test than the control group. Teachers reported several beneﬁts of the PRIMM approach, including that PRIMM helped them to teach eﬀectively in mixed-ability classes, enabling all learners to make progress. Implications: We hope that PRIMM makes a contribution to programming education research, as it builds on previous work in eﬀective pedagogy for teachers, and encourages the use of language and dialogue to facilitate understanding. Through our evaluation of PRIMM and engagement with classroom teachers, we propose a framework for understanding the learning of programming in the classroom, and present this as an avenue for further research.