Explaining the dynamic structure and behavior of Java programs using a visual debugger (abstract only)

Demian Lessa, Bharat Jayaraman · 2012

An important challenge in teaching object-oriented (OO) programming and methodology in introductory Computer Science courses is explaining the run-time of OO programs. This is largely due to the OO methodology, which encourages the use of features such as polymorphism and design patterns, resulting in object interactions and control flow that are hard to grasp, especially for novice programmers. We present an approach to program comprehension in which students use storyboards and visual debugging to build a clear mental model of the dynamic behavior of OO programs. In this context, a storyboard consists of a sequence of figures representing run-time aspects of interest (e.g. states or interactions) and an explanatory narrative in terms of OO concepts and source elements. The selected visual debugger must render execution histories and run-time states using visual notations consistent with the OO methodology (e.g., objects, member fields, method calls within object contexts). Instructors create storyboards using figures exported from the debugger and incorporate them in course materials. Further, storyboards included in specifications of programming assignments alongside test cases provide students with a detailed account of their programs' run-time at interesting points in execution. By executing their programs under the visual debugger, students can compare the observed run-time states with those illustrated in the storyboards and effectively assess the behavioral correctness of their programs. Hence, the combined use of storyboards and visual debugging can benefit students during the coding phase by guiding them towards writing code that closely adheres to the OO methodology from the outset.

Read the paper · More papers on PaperTik