Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education | 2019

Identifying and Validating Java Misconceptions Toward a CS1 Concept Inventory

 
 
 
 

Abstract


A misconception is a common misunderstanding that students may have about a specific topic. The identification, documentation, and validation of misconceptions is a long and time-consuming work, usually carried out using iterative cycles of students answering open-ended questionnaires, interviews with instructors and students, exam analysis, and discussion with experts. A comprehensive list of validated misconceptions in some subject can be used to build formal evaluation methods like the Concept Inventory (CI), a multiple-choice questionnaire that is usually performed as pre-post tests in order to assess any change in student understanding. In CS1, validated misconceptions were identified and documented in C and Python programming languages. Although there are studies related to misconceptions in the Java language, these misconceptions lack the formality, comprehensiveness, and robustness of their C and Python counterparts. On this work, we propose a methodology to adapt the validated misconceptions in C and Python to Java. Initially, through the analysis of an initial list of 33 misconceptions in C and 28 in Python, we identified and documented in an antipattern format 31 possible misconceptions in Java. We then developed a final term exam, composed of 7 open-ended questions, in which each question was designed to address some of the misconceptions covered in the course (N=27). Through the analysis of the exams answers (N = 69 students), it was possible to validate 22 of the misconceptions (81%). Also, 6 new misconceptions were identified, leading to a total of 28 valid misconceptions in Java.

Volume None
Pages None
DOI 10.1145/3304221.3319771
Language English
Journal Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education

Full Text