Loading [MathJax]/extensions/MathZoom.js
A 3D Metaphor for Software Code Visualization to Help Students to learn Object-Oriented Concepts | IEEE Conference Publication | IEEE Xplore

A 3D Metaphor for Software Code Visualization to Help Students to learn Object-Oriented Concepts


Abstract:

Object-oriented (OO) paradigm learning is not an easy task; the literature reports that regardless of whether this is learned as the first paradigm (objects-first) or vic...Show More

Abstract:

Object-oriented (OO) paradigm learning is not an easy task; the literature reports that regardless of whether this is learned as the first paradigm (objects-first) or vice versa (objects-later) the way to ensure that students really learn OO concepts is unclear. Learning this as a second paradigm (now preferred by 92% of the 25 world-best universities) implies different challenges than those presented in the objects-first paradigm. On the other hand, Software Visualization (SV) is the graphic display of information about a software system. There is an SV called Program Animation (PA) in which the computer determines and shows what happens during the execution of a program. It is based on some metaphor that should facilitate the understanding of programs. Several metaphors have been proposed (City, Solar-system, Islands). Most of them allow users to get a static view of the system and in some cases the exploration of its modules and its dependencies. We have developed a metaphor (and a tool called LabOO) to dynamically represent OO concepts from code. Unlike other PA systems, it aims to track what conceptually happens when a succession of OO instructions is executed. The tool receives as input a program written in an object-oriented language and displays the dynamic representation of what happens (based on the metaphor) when that program is executed. The tool facilitates the learning of concepts such as object, class, inheritance, method, and message. Results of an initial study show promising results about the value of this tool.
Date of Conference: 25-29 October 2021
Date Added to IEEE Xplore: 28 December 2021
ISBN Information:
Conference Location: San Diego, CA, USA

I. Introduction

The Object Oriented (OO) Journey started with languages like Simula 67, Smalltalk 80, Objective C and C++ (80´s), java (90´s) C# (2000´s), Python, Ruby so on and so forth. It is important to consider that OO coding is not necessarily OO thinking. Literature recommends since the beginning of the OO journey "To become competent in the object-oriented paradigm requires the acquisition of an object-oriented world view, that will not happen overnight" [1]. Starting this century, a debate took place in many academic departments of computer / information science about the best way to approach the teaching: "Should students be exposed immediately to the new paradigm of Object-Oriented Programming (OOP), using a language like C++ or Java, or should they be taught with a more gradual approach?" [2].

Contact IEEE to Subscribe

References

References is not available for this document.