Skip to main content
Log in

OGRE: Three-Dimensional Program Visualization for Novice Programmers

  • Published:
Education and Information Technologies Aims and scope Submit manuscript

Abstract

As demonstrated in our earlier paper (Milne and Rowe, 2002), students learning object-oriented programming find topics related to the computer's handling of memory the most difficult to understand. Our results indicated that a visualization of a running object-oriented program, with particular emphasis on the display of how objects are related to each other in memory, would help students to learn these topics.

Here we describe OGRE (Object-oriented GRaphical Environment) – a program visualization tool that has been developed to specifically address these memory related issues by providing three-dimensional, interactive visualizations that aid higher-level understanding of a program's execution in memory. OGRE has been evaluated with positive results that show significant improvements in students' understanding of C++'s memory-related topics.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Arab, M. (1992) Enhancing program comprehension: Formatting and documenting. ACM Sigplan Notices, 27(2), 37–46.

    Google Scholar 

  • Baecker, R. and Marcus, A. (1990) Human Factors and Typography for More Readable Programs. Addison-Wesley, Reading, MA.

    Google Scholar 

  • Ball, T. and Eick, S. (1996) Software visualization in the large. Computer, 29(4), 33–43.

    Google Scholar 

  • Brooks, F. P. (1987) No silver bullet, essence and accidents of software engineering. Computer, 20(4), 10–19.

    Google Scholar 

  • Cockburn, A. (2001) Supporting tailorable program visualisation through literate programming and fisheye views. Information and Software Technology, 43(13), 745–758.

    Google Scholar 

  • De Pauw, W. and Vlissides, J. (1998) Visualizing object-oriented programs with JInsight. Lecture Notes in Computer Science, 1543, 541–542.

    Google Scholar 

  • De Pauw, W. and Sevitsky, G. (1999) Visualizing reference patterns for solving memory leaks in Java. Lecture Notes in Computer Science, 1628, 116–134.

    Google Scholar 

  • Fernandez, A., Rossi, G., Moreilli, P., et al. (1998) A learning environment to improve object-oriented thinking, Presented at OOPSLA '98.

  • Jerding, D. F. and Stasko, J. (1994) Using Visualization to Foster Object-Oriented Programming Understanding, Technical Report GIT-GVU-94-33, Georgia Institute of Technology.

  • Knight, C. and Munro, M. (2000) Virtual but Visible Software. In Proceedings of Information Visualization, IV 20000, London, pp. 198–205.

  • Levy, R. B., Ben-Ari, M., and Uronen, P. (2000) An extended experiment with Jeliot 2000. In Proceedings of the First Program Visualization Workshop, Porvoo, July 2000, pp. 131–140.

  • Maletic, J. I., Leigh, J., and Marcus, A. (2001) Visualizing software in an immersive virtual reality environment. In Proceedings of the ICSE'01 Workshop on Software Visualization, Toronto, pp. 49–54.

  • Miara, R. J., Musselman, J. A., Navarro, J. A., et al. (1983) Program indentation and comprehensibility. Commu-nications of the ACM, 26(11), 861–867.

    Google Scholar 

  • Milne, I. and Rowe, G. (2002) Difficulties in learning and teaching programming – Views of students and tutors. Education and Information Technologies, 7(1), 55–66.

    Google Scholar 

  • Price, B. (1998) In Software Visualization: Programming as a Multimedia Experience, J. Stasko (ed.). MIT Press, Cambridge, MA.

    Google Scholar 

  • Rowe, G. and Thorburn, G. (2000) VINCE – An on-line tutorial for teaching introductory programming. British Journal of Educational Technology, 31(4), 359–369.

    Google Scholar 

  • Smith, P. A. and Webb, G. I. (2000) The efficacy of a low-level program visualization tool for teaching program-ming concepts to novice C programmers. Journal of Educational Computing Research, 22(2).

  • Staples, M. L. and Bieman, J. M. (1999) 3-D visualization of software structure. Advances in Computers, 49.

  • Stasko, J. (1996) Using Student-Built Algorithm Animations as Learning Aids, Technical Report GIT-GVU-96-19, Georgia Institute of Technology.

  • Walker, R. J., Murphy, G. C., Freeman-Benson, B., et al. (1998) Visualizing dynamic software system information through high-level models. ACM SIGPLAN Notices, 33(10), 271–283.

    Google Scholar 

  • West, A. (1993) Animating C ++Programs, Technical Report, Objective Software Technology. http://www. objectivesoft.com

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Milne, I., Rowe, G. OGRE: Three-Dimensional Program Visualization for Novice Programmers. Education and Information Technologies 9, 219–237 (2004). https://doi.org/10.1023/B:EAIT.0000042041.04999.17

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:EAIT.0000042041.04999.17

Navigation