Identifying and correcting Java programming errors for introductory computer science students
Maria Hristova
Ananya Misra
Megan Rutter
Rebecca Mercuri

2003

Proceedings of the 34th SIGCSE technical symposium on Computer science education

Programming in Java can be a daunting task for introductory students, one that is only compounded by the cryptic compiler error messages they see when they first start to write actual code. This article details a project conducted by faculty and advanced students in the creation of an educational tool for Java programming, called Expresso. This paper discusses some existing programming tools, explains their drawbacks, and describes why Expresso is different. We also include a detailed list of typical errors made by novice programmers, used in the construction of the Expresso tool.

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

Programming Languages

Java

Method

Qualitative (survey of instructors and students)

Subjects

Unknown number of undergraduate students, professors, SIGCSE members

Artifact

Note by Progmiscon.org Team
We are not aware of an artifact supporting this paper.

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.)

Errors
Common syntax, semantic, and logic errors in Java

Syntax1
Confusing the assignment operator with the comparison operator
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
Syntax2
Use of == instead of .equals to compare strings
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
Syntax4
Confusing "short-circuit" evaluators with conventional logical operators
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
Syntax8
Using keywords as method or variable names
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
Syntax10
Forgetting parentheses after a method call
This provides evidence potentially relevant for the following Progmiscon.org misconceptions: