A long-term investigation of the comprehension of OOP concepts by novicesNoa RagonisMordechai Ben-Ari
Noa Ragonis
Mordechai Ben-Ari
2005
Computer Science Education, Volume 15, Issue 3
This article describes research on the learning of object-oriented programming (OOP) by novices. During two academic years, we taught OOP to high school students, using Java and BlueJ. Our approach to teaching featured: objects-first, teaching composed classes relatively early, deferring the teaching of main methods, and focusing on class structure before algorithms. The research used a constructivist qualitative research methodology using observations and field notes, audio and video recordings, and an analysis of artifacts such as homework assignments. The findings were divided into four primary categories: class vs. object, instantiation and constructors, simple vs. composed classes, and program flow. In total, 58 conceptions and difficulties were identified. Nevertheless, at the end of the courses, the students understood the basic principles of OOP. The two main contributions of this research are: (i) the breadth and depth of its investigation into the concepts held by novices studying OOP, and (ii) the nature of the constructivist qualitative research methodology.
Study InformationManually extracted from the paper by the Progmiscon.org team
Programming Languages
Java
Method
Qualitative study (observations and field notes, audio and video recordings, and collection of artifacts)
Subjects
47 grade 10 students
Artifact
Related Study ResultsPhenomena 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.)
Misconceptions/DifficultiesMisconceptions and difficulties related to OOP in Java
1.1.3
You can define a method that adds an attribute to the class
This provides evidence potentially relevant for the following Progmiscon.org misconceptions:
2.3.1
Difficulties understanding the empty constructor
This provides evidence potentially relevant for the following Progmiscon.org misconceptions: