Incorporating Software Visualization into Prolog Teaching: A Challenge, a Restriction and an Opportunity

The difficulties students have in learning and using Prolog are well documented (e.g. Taylor, 1988). Many of these difficulties are due to the complexity of the execution model (Fung et al, 1990). Ever since the Byrd Box model (Byrd, 1980), the challenge has been to present the execution model in the most effective way. The term Software Visualization has been coined to describe the process of using textual and/or graphical formalisms to describe the execution of computer programs. Software Visualizations for Prolog have been numerous, though empirical evaluation has been sparse. Recent empirical work using a new empirical framework (Mulholland, 1995) has found that Prolog Software Visualizations differ markedly in how students can use them, and that even minor changes to the way the execution is presented can have dramatic effects on how well it is understood by students. Despite the large amount of systems that have been developed to clearly visualize the execution model, their educational effectiveness without teacher supervision appears to be seriously restricted. Students were often found to reinterpret the display to fit their own misunderstandings, rather than learning from what the visualization was showing them. Software Visualizations do little to lessen the role of the human teacher. The development of the World Wide Web, though provides a new opportunity for Software Visualization within Prolog tuition: as a rich communication medium in which to describe difficult concepts. We are currently exploring this idea with the Internet Software Visualization Laboratory (Domingue and Mulholland, 1997), which allows visualizations of programming concepts to be communicated between students and teacher, using either electronic movies or synchronous tutorials. 1 . Introduction Software Visualization (SV) is the process of using techniques such as typography, graphic design, animation and cinematography to provide representations of a program and its execution. As Prolog has a particularly complex execution model, which students have difficulty understanding, a number a SVs (or tracers) for Prolog have been developed. Each of these SVs has associated claims put forward by the designers, explaining how their system can help Prolog students. Though due to a lack of empirical evaluation it is often difficult to determine what progress is being made in clearly presenting the Prolog execution model. This paper presents the ISM (Information, Strategy Misunderstanding) Framework which provides a principled approach to the challenge of how an SV can best present Prolog to a student. The next section describes the ISM framework. The following sections describe an empirical study using the ISM framework to find out how students are able to use four existing Prolog SVs. This is followed by the design of a new Prolog SV, based upon the lessons learnt from the empirical study. This is crucially important as it illustrates how this framework can be used to successfully underpin the challenge to build more and more effective SV tools for Prolog students. Following on from this, some observations are made from the empirical work as to what extent SV can really deliver as an educational tool. It has been widely thought that SV could be used by students for learning by free exploration. There are serious restrictions as to how much students can learn this way due to their tendency to reinterpret what the SV is showing them to fit their own misunderstandings. The final section though takes up the challenge of how SV can be effectively used within an educational setting in a way which makes use of its strengths, though is still integrated with the expertise of the teacher.

[1]  Blaine A. Price,et al.  A Principled Taxonomy of Software Visualization , 1993, J. Vis. Lang. Comput..

[2]  Marc Eisenstadt,et al.  The Transparent Prolog Machine (TPM): An Execution Model and Graphical Debugger for Logic Programming , 1988, J. Log. Program..

[3]  Paul Mulholland,et al.  Staging software visualizations on the Web , 1997, Proceedings. 1997 IEEE Symposium on Visual Languages (Cat. No.97TB100180).

[4]  Mike Brayshaw,et al.  Towards a taxonomy of novices' misconceptions of the Prolog interpreter , 1990 .

[5]  T. R. G. Green Conditional program statements and their comprehensibility to professional programmers , 1977 .

[6]  K. A. Ericsson,et al.  Protocol Analysis: Verbal Reports as Data , 1984 .

[7]  Marc Eisenstadt,et al.  A Powerful Prolog Trace Package , 1984, European Conference on Artificial Intelligence.

[8]  Benedict du Boulay,et al.  Outline Proposal for a Prolog `Textual Tree Tracer' (TTT) , 1991 .

[9]  Ray J. Dawson,et al.  Introducing new software engineering graduates to the 'real world' at the GPT company , 1992, Softw. Eng. J..

[10]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[11]  Josephine Annette Taylor Programming in prolog: an indepth study of problems for beginners learning to program in prolog , 1988 .

[12]  Paul Mulholland,et al.  Using a fine-grained comparative evaluation technique to understand and design software visualization tools , 1997, ESP '97.

[13]  Johnette Hassell,et al.  Information Relationships in PROLOG Programs: How Do Programmers Comprehend Functionality? , 1991, Int. J. Man Mach. Stud..