ABSTRACT
Many teachers are able to recognise that students can find programming difficult -- it is not as easy for teachers to know how to help struggling students to gain confidence and a secure understanding of programming concepts. This is particularly acute where the curriculum requires the teaching of text-based programming from age 11. In this paper we describe an approach to teaching programming we call PRIMM -- Predict-Run-Investigate-Modify-Make. This builds on three areas of research: the Use-Modify-Create methodology, levels of abstraction used in programming, and tracing and code comprehension research. The PRIMM approach has been trialled with teachers new to programming and is now being implemented in a pilot study in secondary schools.
- Michal Armoni. 2013. On Teaching Abstraction in Computer Science to Novices. Journal of Computers in Mathematics and Science Teaching 32, 3 (2013), 265--284.Google Scholar
- Teresa Busjahn and Carsten Schulte. 2013. The Use of Code Reading in Teaching Programming. In Proceedings of the 13th Koli Calling International Conference on Computing Education Research (Koli Calling '13). ACM, New York, NY, USA, 3--11. Google ScholarDigital Library
- Quintin Cutts, Sarah Esper, Marlena Fecho, Stephen R. Foster, and Beth Simon. 2012. The Abstraction Transition Taxonomy: Developing Desired Learning Outcomes Through the Lens of Situated Cognition. In Proceedings of the Ninth Annual International Conference on International Computing Education Research (ICER '12). ACM, New York, NY, USA, 63--70. Google ScholarDigital Library
- Irene Lee, Fred Martin, Jill Denner, Bob Coulter, Walter Allan, Jeri Erickson, Joyce Malyn-Smith, and Linda Werner. 2011. Computational thinking for youth in practice. ACM Inroads 2, 1 (2011), 32. Google ScholarDigital Library
- Raymond Lister, Tony Clear, Simon, Dennis J. Bouvier, Paul Carter, Anna Eckerdal, Jana Jackov\, \#225, Mike Lopez, Robert McCartney, Phil Robbins, Otto Sepp\, \#228, 1\, and Errol Thompson. 2009. Naturally occurring data as research instrument: analyzing examination responses to study the novice programmer. SIGCSE Bull. 41, 4 (2009), 156--173. Google ScholarDigital Library
- Raymond Lister, Colin Fidge, and Donna Teague. 2009. Further Evidence of a Relationship Between Explaining, Tracing and Writing Skills in Introductory Programming. In Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE '09). ACM, New York, NY, USA, 161--165. Google ScholarDigital Library
- Mike Lopez, Jacqueline Whalley, Phil Robbins, and Raymond Lister. 2008. Relationships Between Reading, Tracing and Writing Skills in Introductory Programming. In Proceedings of the Fourth International Workshop on Computing Education Research (ICER '08). ACM, New York, NY, USA, 101--112. Google ScholarDigital Library
- Carsten Schulte. 2008. Block Model: An Educational Model of Program Comprehension As a Tool for a Scholarly Approach to Teaching. In Proceedings of the Fourth International Workshop on Computing Education Research (ICER '08). ACM, New York, NY, USA, 149--160. Google ScholarDigital Library
- Carsten Schulte, Tony Clear, Ahmad Taherkhani, Teresa Busjahn, and James H. Paterson. 2010. An Introduction to Program Comprehension for Computer Science Educators. In Proceedings of the 2010 ITiCSE Working Group Reports (ITiCSE-WGR '10). ACM, New York, NY, USA, 65--86. Google ScholarDigital Library
- Donna Teague and Raymond Lister. 2014. Programming: Reading, Writing and Reversing. In Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education (ITiCSE '14). ACM, New York, NY, USA, 285--290. Google ScholarDigital Library
- Anne Venables, Grace Tan, and Raymond Lister. 2009. A Closer Look at Tracing, Explaining and Code Writing Skills in the Novice Programmer. In Proceedings of the Fifth International Workshop on Computing Education Research Workshop (ICER '09). ACM, New York, NY, USA, 117--128. Google ScholarDigital Library
Index Terms
- PRIMM: Exploring pedagogical approaches for teaching text-based programming in school
Recommendations
Developing Empathy and Persistence through Professional Development in New to CSA Teachers
ICER 2021: Proceedings of the 17th ACM Conference on International Computing Education ResearchTo meet the rising demand for computer science (CS) courses, K-12 educators need to be prepared to teach introductory concepts and skills in courses such as Computer Science Principles (CSP), which takes a breadth-first approach to CS and includes ...
Teachers' Experiences of using PRIMM to Teach Programming in School
SIGCSE '19: Proceedings of the 50th ACM Technical Symposium on Computer Science EducationPRIMM is an approach to teaching programming at K-12 that facilitates the structure of lessons in a purposeful way. PRIMM stands for Predict-Run-Investigate-Modify-Make, and draws on recent research in programming education. In particular the PRIMM ...
The Association of High School Computer Science Content and Pedagogy with Students’ Success in College Computer Science
The number of computer science (CS) courses has been dramatically expanding in U.S. high schools (HS). In comparison with well-established courses in mathematics and science, little is known about how the decisions made by HS CS teachers regarding how ...
Comments