Analyzing Student Work Patterns Using Programming Exercise Data

Web-based programming exercises are a useful way for students to practice and master essential concepts and techniques presented in introductory programming courses. Although these systems are used fairly widely, we have a limited understanding of how students use these systems, and what can be learned from the data collected by these systems. In this paper, we perform a preliminary exploratory analysis of data collected by the CloudCoder programming exercise system from five introductory courses taught in two programming languages across three colleges and universities. We explore a number of interesting correlations in the data that confirm existing hypotheses. Finally, and perhaps most importantly, we demonstrate the effectiveness and future potential of systems like CloudCoder to help us study novice programmers.

[1]  Ewan D. Tempero,et al.  All syntax errors are not equal , 2012, ITiCSE '12.

[2]  Davide Fossati,et al.  Towards improving programming habits to create better computer science course outcomes , 2013, ITiCSE '13.

[3]  Andrew Luxton-Reilly,et al.  Enhancing syntax error messages appears ineffectual , 2014, ITiCSE '14.

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

[5]  Sue Fitzgerald,et al.  Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers , 2008, Comput. Sci. Educ..

[6]  Neil Brown,et al.  Blackbox: a large scale repository of novice programmers' activity , 2014, SIGCSE.

[7]  David Hovemeyer,et al.  An open platform for managing short programming exercises , 2013, ICER '13.

[8]  Gary Lewandowski,et al.  Debugging: the good, the bad, and the quirky -- a qualitative analysis of novices' strategies , 2008, SIGCSE '08.

[9]  Judy Kay,et al.  The Neglected Battle Fields of Syntax Errors , 2003, ACE.

[10]  Jens Bennedsen,et al.  Failure rates in introductory programming , 2007, SGCS.

[11]  Nick Parlante Nifty reflections , 2007, SGCS.

[12]  James B. Fenwick,et al.  ClockIt: collecting quantitative data on how beginning software developers really work , 2008, SIGCSE 2008.

[13]  David Hovemeyer,et al.  CloudCoder: building a community for creating, assigning, evaluating and sharing programming exercises (abstract only) , 2013, SIGCSE '13.

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