Introduction
In looking at the cognitive questions, there are three topics that we want
to examine. These include usage (Does it make visualizing certain things
easier?), validation (Does it go about doing things "right"?), and
verification (Is it being used correctly?). Obtaining further evidence
into these areas will enable us to better answer our original question.
The book chapter and two papers that I examined for this gave much
insight into, and a wealth of information about, SV.
SV Construction
However, in doing this the presentation must be done in such a way as to
clearly represent what is going on and convey the information in a manner
so that it can be understood and interpreted correctly. This is no easy
task, as there are many ways and areas that the visualization (viz) can be
focused, among them being the following:
Case Study
Techniques
For novice users, two very important things must be done. We must first
look at the needs of the novice user and make sure we are meeting and
fulfilling them. We should understand their problems and misconceptions,
and work on removing these. In addition, the student's intuitive model
and the model of the software viz or language should be made to match as
closely as possible. This can be done by leveraging off knowledge the
student already has, which brings us to our second point.
We should not assume that the student has any background training or
information into the topic we are covering. One way to test this would be
to ask the student what knowledge they have and to see if their cognitive
model of what is happening in the model matches with what is actually
occurring. From this, we can tailor the viz to the student in such a way
as to more closely match their mental model.
Expert users have a different set of goals and objectives, so their viz's
must be constructed in a different way. With experts, one big change is
that we can assume background knowledge, so we can build our viz's
accordingly. We can have more implicit information than we could with
novices, and we can establish more in-depth relationships between data.
There are two other factors which are important in the creation of viz's.
the first concerns the level of knowledge which the audience has. The
more knowledge they possess, the more information which can be placed in
the viz itself, and the more they can possibly gain from viewing it. The
other factor that can be used with almost all users is leveraging off
cultural conventions in the viz. This can help in many ways, including
the following:
Conclusion
References
Eisenstadt, M., Price, B. & Dominque, J. Software Visualization as a
Pedagogical Tool. Technical Report 93. Human Cognition Research
Laboratory. The Open University. 1992.
Douglas, S. & Hundhausen, C. Exploring Human Visualization of
Computer Algorithms. Graphics Interface '96. Toronto, Ontario,
Canada. pp. 9-16. 1996.
One of the most practical questions in the field of software visualization,
and by extension algorithm animation, is "Do these techniques actually
work?" While answering this question is not an easy task, there have
been studies done to examine certain parts of it. One of the more
interesting areas looking at this concerns the cognitive questions
associated with software visualization (SV).
One of the first things we must do is determine what the focus of SV is. The
primary aims listed in the book included the following:
All of these have to do with displaying information from different
perspectives. This is done in an attempt to better show certain
relationships, emphasize underlying trends or information which would
otherwise be missed, and, in general, allow the viewer to have a
understanding of what is going on.
One way in which this can be simplified is with specifying the
viz to a particular audience. For this purpose, the readings focused on
two general groups -- novice and expert users. The goals of the viz's for
the two groups varied greatly. The four main reasons for creating a viz
for novices were to:
The expert users were assumed to have not only topic knowledge, but also
experience with using and interpreting viz's. In their case, different
objectives were desired, including:
One example of the novice approach is the HyperProof
system, developed to teach first-order predicate calculus. In HyperProof,
standard logic calculus or a graphical display is used in an attempt to
combine the techniques of abstraction and mental modelling. The claim is
made that by doing this, the user incorporates both of these models and
internalizes the information, thereby gaining a better grasp of the
relationships involved.
If our focus is on novice and expert users, then we must tailor our viz's
to them. First, in order to make sure they get as much from them as
possible. Second, to ensure that they take this information and interpret
it correctly. If this is done correctly, then our viz will be serving its
purpose and adding value to the learning experience.
The evidence presented in the readings I researched presented a
compelling argument that SV is a valid method for helping people to
understand programs and their execution better. If the information is
presented in a coherent and reasonable manner, and targeted towards its
audience, then it should be a useful and invaluable tool in education.
Petre, M., Blackwell, A. & Green, T. Cognitive Questions in Software
Visualization. In "Software Visualization", edited by John Stasko et
al. MIT Press. pp. 453-480. 1998.