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.

14.3.2 Using a given visualization has practical benefits<br />

What about the highest levels – present, create – of the engagement taxonomies in Section 11.2? Why<br />

should every teacher not just have students present visualizations to others and create novel visualizations<br />

from scratch?<br />

Presenting visualizations and creating novel ones is a viable way to learn about algorithms (see<br />

Hundhausen, 2002). The higher levels of the direct engagement could also be a part of visual program<br />

simulation. Learners could present how they simulate the execution of a program (although it is debatable<br />

if this would engage them any more than presenting a program animation). Instead of using a given<br />

visualization such as the one in UUhistle (on the applying level of the 2DET), a program simulation task<br />

could require them to design their own way of visualizing a notional machine (on the creating level) and<br />

using it to explain the execution steps of programs.<br />

However, my discussion of VPS and the UUhistle system is primarily concerned with VPS realized as<br />

applying. The reason is that engagement is not all, and when it comes to program visualization in CS1,<br />

this level of engagement may be more feasible than the higher levels.<br />

Designing a novel way to visualize program execution requires great cognitive involvement. Successful<br />

creation will doubtless be useful in leaning about program dynamics, but the risk of cognitive overload<br />

must be considered. Moreover, creating a program visualization may be next to impossible with fragile<br />

knowledge of the notional machine. Even using a ready-made external representation of execution is<br />

challenging enough if one has a vague or fragile understanding of the content, let alone creating a<br />

meaningful and useful representation oneself (Vainio and Sajaniemi, 2007). Fragile knowledge is very<br />

common in CS1. Asking students to create a novel, correct visualization of a notional machine would<br />

certainly be a way to require them to learn about program dynamics, but might not be the best way to<br />

help them learn.<br />

It is also pertinent to wonder if creating novel program visualizations places too much of an emphasis<br />

on visualization design at the expense of other useful CS1 activities. The time investment is substantial<br />

even if learners do not need to go for a polished look. Having novices devise a generally viable way to<br />

visualize program execution is a big ask and will involve a long process. The presenting level suffers from<br />

some of these same weaknesses, albeit to a lesser extent, while engaging on the lower levels probably<br />

requires less time on average. A reasonable instructional strategy might be to use a judicious mix of<br />

engagement levels, as the creators of the original engagement taxonomy indeed suggested (Naps et al.,<br />

2003): some presenting here, maybe a bit of creating there, combined with the staples of applying and<br />

controlled viewing, with the occasional stop-and-think question to address some key points.<br />

Visually simulating a program by applying a given visualization engages programming<br />

beginners in a balanced way that is intended neither to be cognitively overwhelming<br />

nor to require an excessive time investment. VPS seeks to temper fragile knowledge<br />

rather than rely on it. It can be used in combination with other forms of engagement.<br />

Last but not least, one practical weakness of presenting and creating visualizations is that humans are<br />

needed to give feedback on presentations and designs. In large introductory courses with limited resources,<br />

automatic assessment is very valuable (Section 10.1.4). Even if the use of visualizations is not graded or<br />

resources are available for grading by other means, the ability to have a system produce timely feedback<br />

to learners is a great boon. As the UUhistle system demonstrates, this is feasible on the applying level of<br />

engagement.<br />

Which brings us to our next topic.<br />

14.4 Tools make visual program simulation practical<br />

It is possible to get a pen-and-paper approach to visualizing program states to work reasonably well. Gries<br />

and Gries, for instance, have used such an approach with some success (Section 10.3), although they,<br />

221

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

Saved successfully!

Ooh no, something went wrong!