Object-Early versus Object-Late: Perspectives on Concept Acquisition in Undergraduate Software Engineering Courses https://doi.org/10.34074/rere.00408

By: Barry Dowdeswell Tariq Khan Asanthika Imbulpitiya Waruni Hewage Kathiravelu Ganeshan Farhad Mehdipour

Abstract

Teaching Object-Oriented programming is a core element of undergraduate software programming courses. Using a custom-developed Ontology of programming language elements as well as case studies from three institutions, this article explored the order of presentation of both procedural and abstract concepts, including Object-Orientation. The findings are considered with reference to issues raised in both current and historical literature that examines concept acquisition in this context.

The literature suggests that in the past, first-year failure rates were often woefully high. Teaching abstract object concepts too early can hinder the establishment of a clear procedural understanding of coding. Similarly, presenting concepts in the wrong order is confusing and counter-productive for novice developers. The article concludes that the choice of programming language is not necessarily as significant as the order and way in which language concepts are presented and reinforced.

Keywords:
Software Languages, Procedural Programming, Object-Oriented Programming, Teaching Paradigms, Concept Reinforcement.

Download the article (pdf)