page 1  (10 pages)
2to next section

The Internet Software Visualization Laboratory1

John Domingue Paul Mulholland

Knowledge Media Institute
The Open University
Walton Hall
Milton Keynes, UK
+44 1908 65-5014
{J.B.Domingue, P.Mulholland}


The Internet Software Visualization Laboratory (ISVL) combines our research in Software Visualization and teaching over the internet to tackle the problem of how computer programming can be effectively taught to students working from home. Our approach provides a rich, collaborative environment for exploring and demonstrating programming constructs. ISVL supports both asynchronous and synchronous working, and allows students to move seamlessly from a tutor-led teaching scenario, to personal or peer exploration. ISVL provides a rich source of empirical data which will shed light on how Software Visualization can be most effectively incorporated within a computer programming curriculum.

Keywords: Software Visualization, distance teaching, Prolog, evaluation.


Teaching computer computer programming has long been known to be a complex process. This problem is compounded on our own courses where teaching is carried out a distance, raising the following issues:

1) The lack of face-to-face support - contact between student and tutor is either by telephone or email, meaning the tutor establishing the nature of the students? problem can take a great deal of time and be prone to misunderstanding.

2) Students can rarely work together - as the students work part time and fit their studies around other committments it is impossible for them to work together synchronously.

3) The lack of a computer laboratory - students work at home using a range of computers, many of fairly low specification, meaning a range of platforms have to be supported.

The approach taken to alleviate these problems was to develop a software visualization laboratory. Software Visualization (SV) is the use of graphical and textual formalisms to describe the execution of computer programs. We view SV as having a valuable role within the teaching of computer programming, particularly for languages with a complex execution model. Our view is influenced by empirical work which found that a crucial objective when teaching programming was to provide a clear execution model (Eisenstadt et al. 1985). This fits well with the aims behind SV. A key role envisaged for SV is in computer science education. SV permits students to have an overall conceptual story of how the program works, explore and debug programs, and use the visualizations as a form of language in which to convey their understanding. The laboratory has the folowing characteristics:

1) an internet client server architecture using platform independent software for the client (a java compliant browser) and placing most of the work on the server (to support low specification machines),

2) an environment that can provide a context for synchronous communication, so that the tutor can quickly establish what the student wishes to discuss, and

3) a facility which enables asynchronous communication by allowing tutor and student explanations to be archived for future reference.

The approach of using SV over a network as an educational tool raises futher issues as to how SV can be most appropriately included within a computer programming curriculum. The key theoretical issue we to address concerns the use of single or multiple representations to support learning. One one hand specific representations could be hand-picked to help student at particular stages of the course (i.e. a

1Submitted to PPIG?97, Psychology of Programming Interest Group 9th Annual Workshop Jan. 3rd - 5th 1997 Sheffield Hallam University, Sheffield, UK