Postponing the Concept of Class When Introducing OOP

Cargando...
Miniatura

Fecha

Autores

Passerini, Nicolás

Título de la revista

ISSN de la revista

Título del volumen

Editor

Association for Computing Machinery (ACM)

Publicaciones relacionadas

Proyectos de investigación

Unidades organizativas

Número de la revista

Resumen

The literature on programming education describes different problems found in courses that introduce the basic concepts of Object-Oriented Programming (OOP). Some of these problems arise from the large amounts of abstract concepts that are needed even for the simplest programs. Other difficulties are related with the concepts of class and instantiation, and the duality between classes and objects. Educators and researchers have proposed several alternatives to define a gradual path for the introduction of OOP. A group of educators from several universities in the Buenos Aires area crafted a learning path for a first course about OOP in which the concepts of class and instantiation are introduced several weeks after the beginning of the course. Gradualism is achieved in this proposal by starting with a minimal metamodel based on self-defined objects, which is progressively enlarged. Following this learning path, by the time students are introduced to classes and instantiation, they already have a good acquaintance with object definition and interaction, and are also able to quickly understand the convenience of the new concepts. The same group conceived and developed a didactically-oriented programming language along with an IDE; and produced several exercises that can be solved using the initial metamodels. In this article, we discuss which concepts and language elements can be introduced before classes and instantiation, the need for a programming language that supports the proposed learning path, and the results of its application in several universities.

Descripción

Palabras clave

Cita bibliográfica

Passerini, N. y Lombardi, C. (2020, 15–19 de junio). Postponing the Concept of Class When Introducing OOP. En Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE) (pp. 152–158). Association for Computing Machinery (ACM).

Aprobación

Revisión

Complementado por

Referenciado por