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


  • 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%25 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. © 2021 IEEE.

publication date

  • 2021-01-01