Identifying and Validating Java Misconceptions Toward a CS1 Concept Inventory
Ricardo Caceffo
Pablo Frank-Bolton
Renan Souza
Rodolfo Azevedo

2019

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

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.

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

Programming Languages

Java

Method

Quantitative systematic research

Subjects

69 upper-level undergraduate students

Phenomena Studied

Misconceptions
Java misconceptions on (A) function parameter use and scope, (B) variables, identifiers, and scope, (C) recursion, (D) iteration, (E) structures, (F) pointers, (G) boolean expressions, and (H) classes and objects.

Artifact

https://www.ic.unicamp.br/~reltech/2019/19-05.pdf

Related Misconceptions
Referenced by 1 Misconception

Stay up-to-date

Follow us on  twitter to hear about new misconceptions.