28.03.2014 Views

isbn9789526046266

isbn9789526046266

isbn9789526046266

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Figure 11.4: The PyDev debugger for Python programs within the Eclipse IDE (image from Helminen,<br />

2009). A Python program is being executed, with line 4 up next. Threads and call stacks<br />

are listed in the top left-hand corner. Global and local variables are shown on the right.<br />

The yellow highlight signifies a change in the value of a variable.<br />

programs may be large in terms of both code and data. For such reasons, the visualization shown by<br />

a typical visual debugger is not particularly graphic, and consists primarily of text within standard GUI<br />

widgets.<br />

Bennedsen and Schulte (2010) conducted an experimental study in which a group of CS1 students<br />

used the visual debugger built into the BlueJ IDE to step through object-oriented programs, while a<br />

control group used manual tracing strategies. They found no significant differences in the performance of<br />

the groups on a post-test of multiple-choice questions on program state. A rerun of the experiment using<br />

a different debugger yielded similar results. Bennedsen and Schulte surmise that “it could be that the<br />

debugger is not useful for understanding the object interaction but just for finding errors in the program<br />

execution” (p. 18).<br />

Despite their limitations, visual debuggers are worth a mention in this section because they are highly<br />

useful tools that novices do encounter in CS1 courses, because they do visualize certain aspects of program<br />

dynamics, and because they serve as a point of departure for reviewing the more education-oriented systems<br />

below.<br />

11.3.2 Many educational systems seek to improve on regular debuggers<br />

Most of the systems reviewed in this chapter are program animation tools that can be thought of as<br />

educators’ attempts to improve on regular visual debuggers. Some of these systems look very similar to<br />

regular visual debuggers, others feature more unusual visualizations.<br />

An early system on the Atari: Basic Programming<br />

An early educational PV system that supported visual tracking of program execution was Basic<br />

Programming, “an instructional tool designed to teach you the fundamental steps of computer<br />

programming” (Robinett, 1979). Shown in Figure 11.5, Basic Programming was an integrated environment<br />

155

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!