28.03.2014 Views

isbn9789526046266

isbn9789526046266

isbn9789526046266

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

of color, the layout of objects and variables, and all other aspects of the visualization are strictly under<br />

the control of the system; UUhistle uses them in an attempt to bring about a particular interpretation of<br />

the visualization and enhance role-expressiveness (see above).<br />

If the purpose of UUhistle were different, the complete lack of support for secondary notation could<br />

be a problem. However, since it is intended to be used by novices with a shaky (albeit improving)<br />

understanding of the content of the visualization, this lack might even be a blessing. Someone with a<br />

poor understanding of the concepts involved is not likely to make efficient use of secondary notation and<br />

might use it to produce representations that are misleading; Green et al. (2006) conjecture that novices<br />

may benefit from a system that minimizes secondary notation. There is also a real danger that learners<br />

would confuse any facilities for using secondary notation with the actual simulation steps. Given the<br />

further consideration that secondary notation tends to increase viscosity – already a somewhat problematic<br />

dimension for UUhistle (see below) – I conclude that UUhistle is probably better in this respect as it is.<br />

Hidden dependencies<br />

In a VPS exercise in UUhistle, not much happens without the direct involvement of the user, and most of<br />

what happens happens right where the user’s attention is expected to be: at the mouse cursor and in the<br />

program code panel. Simulation exercises themselves do not, then, suffer from major hidden dependencies.<br />

There is one exception: built-in functions may have non-obvious side effects when applied. For instance,<br />

executing the print function causes output to appear in the console below. We are planning to highlight<br />

side effects visually in future versions of UUhistle.<br />

Some hidden dependencies are intrinsic to Python and programming. 8 UUhistle cannot eliminate these<br />

dependencies (and must not, since the user is expected to learn to live with them), but can assist the<br />

learner with them. For instance, changing an object’s state through a reference impacts on every other<br />

part of the program in which that object is used through any reference. As shown in Figure 13.4, UUhistle<br />

tries to draw learners’ attention to this kind of hidden dependency, which is known to be problematic for<br />

many novices.<br />

Hard mental operations<br />

“Hard mental operations” are operations that are not intrinsically difficult aspects of what is being<br />

expressed, but are instead made difficult by the notation used. Further, they have the property that even<br />

though a single occurrence of the operation is easy to understand, a combination of even two or three<br />

such operations greatly complicates things. When faced with such combinations, users often experience<br />

cognitive overload and resort to strategies such as making notes on paper and tracing visualizations with<br />

their fingers (Green and Petre, 1996).<br />

I am not aware of UUhistle’s visualization introducing any hard mental operations in this sense.<br />

Progressive evaluation<br />

In a VPS exercise, UUhistle not only progressively assesses the user’s actions at each step but provides<br />

automatic and instantaneous feedback on any mistakes the user makes. The user does not have to wait<br />

until the end of the program is reached to find out if their solution works.<br />

Giving feedback only at the end of a simulation exercise would not be a user-friendly option and would<br />

punish the learner excessively for mistakes. Constant progressive evaluation has obvious benefits. However,<br />

from a learning point of view, there is also a potential drawback: instant feedback given at each simulation<br />

step may encourage mindless trial-and-error strategies. We have considered various midway alternatives<br />

between these two extremes, but no alternative feedback-giving strategies are currently implemented in<br />

UUhistle.<br />

The availability of constant automatic feedback also significantly impacts on several of the remaining<br />

cognitive dimensions.<br />

8 Python as a program-authoring language is an entirely different artifact to which the cognitive dimensions can be applied.<br />

241

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

Saved successfully!

Ooh no, something went wrong!