How do students solve parsons programming problems?: an analysis of interaction traces

The process of solving a programming assignment is generally invisible to the teacher. We only see the end result and maybe a few snapshots along the way. In order to investigate this process with regard to Parsons problems, we used an online environment for Parsons problems in Python to record a detailed trace of all the interaction during the solving session. In these assignments, learners are to correctly order and indent a given set of code fragments in order to build a functioning program that meets the set requirements. We collected data from students of two programming courses and among other analyses present a visualization of the solution path as an interactive graph that can be used to explore such patterns and anomalies as backtracking and loops in the solution. The results provide insights into students' solving process for these types of problems and ideas on how to improve the assignment environment and its use in programming education.

[1]  Korbinian Riedhammer,et al.  Online identification of learner problem solving strategies using pattern recognition methods , 2010, ITiCSE '10.

[2]  Anne Venables,et al.  A closer look at tracing, explaining and code writing skills in the novice programmer , 2009, ICER '09.

[3]  Stephen H. Edwards,et al.  Comparing effective and ineffective behaviors of student programmers , 2009, ICER '09.

[4]  Richard E. Mayer,et al.  Teaching and Learning Computer Programming : Multiple Research Perspectives , 1988 .

[5]  Stuart K Garner,et al.  An Exploration of How a Technology-Facilitated Part-Complete Solution Method Supports the Learning of Computer Programming , 2007 .

[6]  Raymond Lister,et al.  Relationships between reading, tracing and writing skills in introductory programming , 2008, ICER '08.

[7]  Colin J. Fidge,et al.  Further evidence of a relationship between explaining, tracing and writing skills in introductory programming , 2009, ITiCSE.

[8]  Patricia Haden,et al.  Parson's programming puzzles: a fun and effective learning tool for first programming courses , 2006 .

[9]  Paulo Blikstein,et al.  Modeling how students learn to program , 2012, SIGCSE '12.

[10]  Beth Simon,et al.  Evaluating a new exam question: Parsons problems , 2008, ICER '08.

[11]  Petri Ihantola,et al.  Two-Dimensional Parson's Puzzles: The Concept, Tools, and First Observations , 2011, J. Inf. Technol. Educ. Innov. Pract..

[12]  Ma. Mercedes T. Rodrigo,et al.  Predicting at-risk novice Java programmers through the analysis of online protocols , 2011, ICER.

[13]  Martin Rinard,et al.  Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion , 2010 .

[14]  Phil Robbins,et al.  Report on the fourth BRACElet workshop , 2007 .

[15]  Matthew C. Jadud,et al.  Methods and tools for exploring novice compilation behaviour , 2006, ICER '06.

[16]  Alexander Serebrenik,et al.  Mining student capstone projects with FRASR and ProM , 2011, OOPSLA Companion.

[17]  Robert McCartney,et al.  Naturally occurring data as research instrument: analyzing examination responses to study the novice programmer , 2010, SGCS.

[18]  Tapio Salakoski,et al.  VILLE: a language-independent program visualization tool , 2007 .

[19]  Mark Guzdial,et al.  A multi-national, multi-institutional study of assessment of programming skills of first-year CS students , 2001, ITiCSE-WGR '01.

[20]  Paulo Blikstein,et al.  Using learning analytics to assess students' behavior in open-ended programming tasks , 2011, LAK.