Difficulties in learning inheritance and polymorphism

Neomi Liberman*, Catriel Beeri, Yifat Ben David Kolikant

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

34 Scopus citations


This article reports on difficulties related to the concepts of inheritance and polymorphism, expressed by a group of 22 in-service CS teachers with an experience with the procedural paradigm, as they coped with a course on OOP. Our findings are based on the analysis of tests, questionnaires that the teachers completed in the course, as well as on observations made during the course. The article suggests that the difficulties are mostly caused by the learners' ignorance about a programming model for inheritance and polymorphism. Such a model is presented in the appendix. The article offers a classification of the difficulties into the following four clusters: (1) alternative (partial) models, (2) analogies to the use of inheritance and conversion in day-to-day life or in imperative programming, (3) lack of understanding of hierarchies and their role in inheritance, and (4) difficulties due to approaches to teaching, and their impact on the students understanding, as well as, with difficulties that arose in previous stages of learning OOP and have yet not been resolved.

Original languageAmerican English
Article number4
JournalACM Transactions on Computing Education
Issue number1
StatePublished - Feb 2011


  • Analogies
  • In-service teachers
  • Misconceptions
  • Programming model


Dive into the research topics of 'Difficulties in learning inheritance and polymorphism'. Together they form a unique fingerprint.

Cite this