Analyzing Online Protocols to Characterize Novice Java Programmers

Document Type


Publication Date



Computer science educators are concerned and disappointed over students’ lack of programming comprehension. This concern has motivated investigations into areas that programming students do not understand, in an effort to provide students with the foundation they need in order to produce correct software. In this study, we built and used several tools to study the behavior of novice programmers—what edits they make, when they compile their programs, and how they respond to errors. The characterization enables computer science educators to identify at-risk students and determine specific interventions. These tools include summarization of student compilation errors, computation of time between compilations, computation of Error Quotients, and a browser that enables educators to view successive compilations. This paper describes how these tools are used and what implications educators can infer from the data that they present.