37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data
Amjad Altadmri
Neil C.C. Brown

2015

Proceedings of the 46th ACM Technical Symposium on Computer Science Education

Previous investigations of student errors have typically focused on samples of hundreds of students at individual institutions. This work uses a year's worth of compilation events from over 250,000 students all over the world, taken from the large Blackbox data set. We analyze the frequency, time-to-fix, and spread of errors among users, showing how these factors inter-relate, in addition to their development over the course of the year. These results can inform the design of courses, textbooks and also tools to target the most frequent (or hardest to fix) errors.

Study Information
Manually extracted from the paper by the Progmiscon.org team

Programming Languages

Java

Method

Repository mining study (BlueJ Blackbox)

Subjects

250000+ students across the world

Artifact

https://bluej.org/blackbox/

Related Study Results
Phenomena studied in this paper that map to Progmiscon.org misconceptions

The following list summarizes those phenomena reported in this study that provide evidence for misconceptions documented on Progmiscon.org. (The paper may provide evidence for other misconceptions as well. This list focuses exclusively on misconceptions documented on Progmiscon.org.)

Mistakes
Misunderstandings, type errors, other semantic errors

A
Confusing the assignment operator with the comparison operator
45082 / 250000
Users making mistake
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
D
Confusing "short-circuit" evaluators with conventional logical operators
8742 / 250000
Users making mistake
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
H
Using keywords as method or variable names
943 / 250000
Users making mistake
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
J
Forgetting parentheses after a method call
10232 / 250000
Users making mistake
This provides evidence potentially relevant for the following Progmiscon.org misconceptions: