Sometimes It's Just Sloppiness - Studying Students' Programming Errors and Misconceptions

Knowledge about students' programming errors is a valuable source to get insights into students deficiencies and misconceptions. In this paper, we use data from an introductory C programming course to identify which errors are often made by students. Previous studies often focused only on syntactic and semantic errors as they can be easily identified by compilers. Studies focusing on logic errors were often restricted to a limited set of concepts or performed for a small set of data. We manually inspect 12371 submission by 280 students and have no restrictions regarding the error types we are looking for. We classify our found errors into six categories: syntactic, conceptual, strategic, sloppiness, misinterpretation, and domain knowledge. Our results show that a big portion of errors made by students is simply caused by sloppiness. But putting sloppiness aside, students seem to have most problems with strategic knowledge, i.e., the problem solving ability. We compare our results to previous studies and provide some implications of our results for future teaching practice.

[1]  Brad A. Myers,et al.  Development and evaluation of a model of programming errors , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[2]  Michael Kölling,et al.  Meaningful categorisation of novice programmer errors , 2014, 2014 IEEE Frontiers in Education Conference (FIE) Proceedings.

[3]  Rebecca Smith,et al.  The Error Landscape: Characterizing the Mistakes of Novice Programmers , 2019, SIGCSE.

[4]  P. Westwood Reading comprehension: assisting children with learning difficulties , 2012 .

[5]  R. Mayer,et al.  Using conceptual models to teach BASIC computer programming , 1988 .

[6]  Michael Kölling,et al.  A New Look at Novice Programmer Errors , 2019, ACM Trans. Comput. Educ..

[7]  Rebecca T. Mercuri,et al.  Identifying and correcting Java programming errors for introductory computer science students , 2003, SIGCSE.

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

[9]  Elliot Soloway,et al.  Novice mistakes: are the folk wisdoms correct? , 1986, CACM.

[10]  Jens Grabowski,et al.  Experiences in Introducing Blended Learning in an Introductory Programming Course , 2018, ECSEE.

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

[12]  Neil Brown,et al.  Investigating novice programming mistakes: educator beliefs vs. student data , 2014, ICER '14.

[13]  Matthew C. Jadud A First Look at Novice Compilation Behaviour Using BlueJ , 2005, Comput. Sci. Educ..

[14]  J. Jackson,et al.  Identifying Top Java Errors for Novice Programmers , 2005, Proceedings Frontiers in Education 35th Annual Conference.

[15]  Andrew Luxton-Reilly,et al.  Common logic errors made by novice programmers , 2018, ACE.