A long-term investigation of the comprehension of OOP concepts by novices
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 Information
Manually 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

Phenomena Studied

Misconceptions/Difficulties
Misconceptions and difficulties related to OOP in Java

Artifact

We are not aware of an artifact supporting this paper.

Related Misconceptions
Referenced by 6 Misconceptions

Stay up-to-date

Follow us on  twitter to hear about new misconceptions.