Students make many errors in an introductory programming course (aka CS 1). While previous research reports common errors, some errors are normal, being corrected by students in a reasonable amount of time, and being part of the learning process. However, some errors may lead to frustration due to excessive struggle, which may lead to student attrition. We defined a struggle metric using a combination of excessive time spent and excessive attempts, relative to other students in a course and reasonable thresholds. We analyzed struggle on 78 short, auto-graded coding homework problems for an 80-student Spring 2017 introductory C++ programming course at a research university. We found the struggle rate to be 10-15%. Our main focus was to determine the errors that led to such struggle, and thus we manually examined the student submissions for the 10 homework problems having the highest struggle rates. We described the errors and potential underlying student misconceptions that seemed to lead to that struggle. We found that most common errors belong to the following: nested loops, else-if vs. multiple if, random range, input/output, for loop and vector, for loop and if, vector index, negated loop expression, and boolean expressions. Having a deeper understanding of these common errors may aid teachers and authors to help students avoid or correct such errors, thus reducing struggle, which may reduce frustration and potential attrition.
|Original language||English (US)|
|Journal||ASEE Annual Conference and Exposition, Conference Proceedings|
|State||Published - Jun 23 2018|
|Event||125th ASEE Annual Conference and Exposition - Salt Lake City, United States|
Duration: Jun 23 2018 → Dec 27 2018
ASJC Scopus subject areas