Analyzing Student Coding Practices using Fine-grained Edits
2015 ASEE Annual Conference and Exposition Proceedings
In this paper, we gather data from three groups of students doing three different assigned programming labs. For this, we use an online IDE for introductory programming that records student code editing, compiling, and testing activities down to the individual keystroke. The IDE also gathers periodic student feedback on frustration levels during the coding process. We report on patterns of student work, including working sessions, total time spent, how far ahead of deadline students start, and
... tudents start, and time of day worked. We compare work patterns between students who completed the assignments on time, and those who did not. We also compare statistics such as recent numbers of good and bad test runs and editing activity against reported student frustration levels. Finally, we review a sample of student compile errors in two different C language projects, one by beginning programmers, and the other by upperdivision programmers, and report the types of errors made in each group. We find several interesting results from these comparisons: students often work in short stints, they work fewer late hours than might be expected, and early starts on a project, while useful, are not as critical to success as might be expected. We also find that patterns of compile errors and bugs do not correlate closely to student frustration-different students have different emotional responses to the same situations. And we find that even among advanced students, compile errors are skewed toward simple mistakes, and the majority of errors are of just a few different types.