An Analysis of Java Programming Behaviors, Affect, Perceptions, and Syntax Errors among Low-Achieving, Average and High-Achieving Novice Programmers

Abstract

In this article we quantitatively and qualitatively analyze a sample of novice programmer compilation log data, exploring whether (or how) low-achieving, average, and high-achieving students vary in their grasp of these introductory concepts. High-achieving students self-reported having the easiest time learning the introductory programming topics. In a quantitative analysis, though, high-achieving and average students were: 1) more effective at debugging (on average, as quantified by Jadud’s Error Quotient (EQ)) than low-achieving students; and 2) were least confused, as quantified using Lee’s confusion metric. However, the differences in EQ and confusion between groups were not statistically significant. This implied that all groups struggled with programming to similar extents. This finding was further supported by the qualitative analysis, in which we found that no group was immune to a particular error type. All groups had difficulties finding small errors, including: differences in capitalization and missing commas; recognizing the scope and lifetime of a variable; confusing the assignment operator with the equal comparator; misusing the variants of the print statement; misusing or failing to use parameters; and implementing principles of object-oriented design such as information hiding and encapsulation. For computer science researchers and educators, the findings suggest learning pitfalls against which teachers can guard during instruction. The findings also imply the need for more reactive and anticipatory support environments, and the usefulness of large scale data collection and analysis in the study of novice programmers.

Publication
Journal of Educational Computing Research (JECR).
Date

M.M. Rodrigo, T.C. Andallaza, F.E.V.G. Castro, M. Armenta, T. Dy, and M. Jadud. An Analysis of Java Programming Behaviors, Affect, Perceptions, and Syntax Errors among Low-Achieving, Average and High-Achieving Novice Programmers. Journal of Educational Computing Research. Vol. 49, No. 3, pp. 293-325. 2013.

JECR