Results 1 - 10
of
22
Usability Analysis of Visual Programming Environments: a `cognitive dimensions' framework
- JOURNAL OF VISUAL LANGUAGES AND COMPUTING
, 1996
"... The cognitive dimensions framework is a broad-brush evaluation technique for interactive devices and for non-interactive notations. It sets out a small vocabulary of terms designed to capture the cognitively-relevant aspects of structure, and shows how they can be traded off against each other. T ..."
Abstract
-
Cited by 318 (10 self)
- Add to MetaCart
The cognitive dimensions framework is a broad-brush evaluation technique for interactive devices and for non-interactive notations. It sets out a small vocabulary of terms designed to capture the cognitively-relevant aspects of structure, and shows how they can be traded off against each other. The purpose of this paper is to propose the framework as an evaluation technique for visual programming environments. We apply it to two commercially-available dataflow languages (with further examples from other systems) and conclude that it is effective and insightful; other HCI-based evaluation techniques focus on different aspects and would make good complements. Insofar as the examples we used are representative, current VPLs are successful in achieving a good `closeness of match', but designers need to consider the `viscosity' (resistance to local change) and the `secondary notation' (possibility of conveying extra meaning by choice of layout, colour, etc.).
Algorithm Animation Over the World Wide Web
- In Proc. Int. Workshop on Advanced Visual Interfaces
, 1996
"... In this paper we propose a new model, called Mocha, for providing algorithm animation over the World Wide Web. Mocha is a distributed model with a client-server architecture that optimally partitions the software components of a typical algorithm animation system, and leverages the power of the Java ..."
Abstract
-
Cited by 23 (2 self)
- Add to MetaCart
In this paper we propose a new model, called Mocha, for providing algorithm animation over the World Wide Web. Mocha is a distributed model with a client-server architecture that optimally partitions the software components of a typical algorithm animation system, and leverages the power of the Java language, an emerging standard for distributing interactive platform-independent applications across the Web. Mocha provides high levels of security, protects the algorithm code, places a light communication load on the Internet, and allows users with limited computing resources to access animations of computationally expensive algorithms. The user interface combines fast responsiveness and user friendliness with the powerful authoring capabilities of hypertext narratives. We describe the architecture of Mocha and show its advantages over previous methods for algorithm animation over the Internet. We also present a prototype of an animation system for geometric algorithms that can be access...
The Emerging VITAL Workbench
, 1993
"... . VITAL is a research and development project which aims to provide methodological and software support for developing large, embedded KBS applications. VITAL is novel in that its ambition is to develop a methodology-based workbench covering the whole KBS lifecycle, from requirements specification t ..."
Abstract
-
Cited by 20 (8 self)
- Add to MetaCart
. VITAL is a research and development project which aims to provide methodological and software support for developing large, embedded KBS applications. VITAL is novel in that its ambition is to develop a methodology-based workbench covering the whole KBS lifecycle, from requirements specification to implementation, and to integrate and deploy a number of techniques drawn from artificial intelligence, as well as software engineering and human-computer interaction fields of research. In this paper we report on the current state of the VITAL workbench, and in particular we discuss the general design choices we took concerning the overall infrastructure, user interface, data and control integration, and tool management. Moreover, we'll describe in some detail the important role that some advanced software technologies - such as groupware and software visualization - have played in the design and implementation of the workbench. 1. Introduction There is widespread consensus in the Knowled...
Using Software to Teach Computer Programming: Past, Present and Future
, 1996
"... Introduction 2 | MULHOLLAND AND EISENSTADT programming, as opposed to the "design" and "planning" sides. We realised eventually that the debugging/maintenance needs of experts were fundamentally the same as the pedagogical needs of our novices: both needed to see in a perspicuous fashion what was h ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
Introduction 2 | MULHOLLAND AND EISENSTADT programming, as opposed to the "design" and "planning" sides. We realised eventually that the debugging/maintenance needs of experts were fundamentally the same as the pedagogical needs of our novices: both needed to see in a perspicuous fashion what was happening during program execution, though at different levels of granularity. This resulted in a shift in our emphasis from automated debugging assistants to software visualization. To justify this shift, let's consider the evolution of our view in detail. In 1976, we faced the challenge of teaching programming in very adverse circumstances: we wanted to teach AI programming to Psychology students at the UK's Open University. Our students were (a) computer-illiterate or computer-phobic, (b) working at home with no computer hardware, and therefore having to attend a local study centre to use a dial-up teletype link to a DEC system-20, (c) studying Psychology with no intention
Solving VT in VITAL: A Study in Model Construction and Knowledge Reuse
, 1996
"... . In this paper we discuss a solution to the Sisyphus II elevator design problem developed using the VITAL 1 approach to structured knowledge-based system development. This involves a process of top-down refinement of models at different levels of abstraction which enables us to handle the complexit ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
. In this paper we discuss a solution to the Sisyphus II elevator design problem developed using the VITAL 1 approach to structured knowledge-based system development. This involves a process of top-down refinement of models at different levels of abstraction which enables us to handle the complexity of a problem and produce an efficient and maintainable solution. In the paper we discuss in detail the knowledge-level architecture of a particular class of Propose&Revise problem solvers, called 'Complete-Model-then-Revise', and we show that they compare favourably in terms of competence with alternative Propose&Revise architectures. We also analyse in detail the VT domain, we critically examine the issues affecting the development of reusable ontologies, and we show that different assumptions about the completeness of the available domain expertise lead to alternative modelling choices. Finally, we discuss the performance of our problem solver and we show how we can use machine learning ...
Software Visualization As A Pedagogical Tool
- Instructional Science
, 1993
"... : The teaching of computer programming can benefit from looking ahead towards the needs of experienced programmers, who routinely use "industrial strength" programming environments. Two of the main attributes of such environments are (a) their ability to scale up to handle large examples and (b) the ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
: The teaching of computer programming can benefit from looking ahead towards the needs of experienced programmers, who routinely use "industrial strength" programming environments. Two of the main attributes of such environments are (a) their ability to scale up to handle large examples and (b) the way they facilitate visualization of program execution. We describe our approach to "Software Visualization", a collection of techniques which allows beginners to see the innards of program execution clearly, and at the same time allows experts to view high level program abstractions which help them home in quickly on buggy code. This approach can be combined with recent developments in Intelligent Tutoring Systems (ITSs), and has the added benefit of allowing students to explore on their own using a discovery-based paradigm. We re-work some well known examples from the ITS community, and show how our approach scales up to handle a more sophisticated problem involving a 7,500 line operating...
Staging Software Visualizations on the Web
- In: Proceedings of the 1997 IEEE Symposium on Visual Languages, pp 364–371
, 1997
"... When working with computer programs, either in an educational or industrial context, there is often a need to describe a program and its behaviour either to a tutor, student or colleague. Software Visualization (SV) uses techniques such as graphics and animation for describing a program or its algor ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
When working with computer programs, either in an educational or industrial context, there is often a need to describe a program and its behaviour either to a tutor, student or colleague. Software Visualization (SV) uses techniques such as graphics and animation for describing a program or its algorithm. Software Visualizations are tied to a particular place (the machine on which it runs) and time (when the person willing to demonstrate and the person wishing to view are available), restricting their usefulness. Our solution to the above problem, the Internet Software Visualization Lab (ISVL), allows demonstrations to be staged over the web, providing a rich synchronous and asynchronous communication medium. We are currently testing a system created in ISVL on a Master's Programming course. 1: Introduction Software Visualization (SV) systems have been used to aid in computer science teaching and locating program bugs with varying degrees of success over a number of years (see [13]). S...
Software Visualization As A Pedagogical Tool: Redressing Some ITS Fallacies
- ITS Fallacies, Instructional Science
, 1992
"... : The long-term future of Intelligent Tutoring Systems (ITSs) for the teaching of programming is severely hampered by weaknesses which prevent ITSs from scaling up to cater for either a wide audience or a broad curriculum. The weaknesses include an emphasis on toy examples, the use of instruction-ba ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
: The long-term future of Intelligent Tutoring Systems (ITSs) for the teaching of programming is severely hampered by weaknesses which prevent ITSs from scaling up to cater for either a wide audience or a broad curriculum. The weaknesses include an emphasis on toy examples, the use of instruction-based (as opposed to guided discovery-based) teaching, a lack of attention to user interfaces, and the belief that it is possible to create a comprehensive bug catalogue. We propose an alternative approach, based on examining the needs of expert programmers, and considering a pedagogical trajectory which caters for development from novice to expert. The common thread through this trajectory is "Software Visualization", a collection of techniques which allows beginners to see the innards of program execution clearly, and at the same time allows experts to view high level program abstractions which help them home in quickly on buggy code. We re-work some well known examples from the ITS communit...
The Internet Software Visualization Laboratory
- Hallam University
, 1997
"... 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 ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
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. INTRODUCTION 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 ...
Using Software Visualization Technology In The Validation Of Knowledge Based Systems
, 1995
"... The validation of a Knowledge Based System (KBS) involves comparisons between an external reference model and a system's component parts. In this paper I describe how such comparisons can be aided by the application of software visualization technology. Software visualization is the use of filmcraft ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
The validation of a Knowledge Based System (KBS) involves comparisons between an external reference model and a system's component parts. In this paper I describe how such comparisons can be aided by the application of software visualization technology. Software visualization is the use of filmcraft, cartoon animation and graphic design techniques to display data structures, programs, and algorithms. The described approach eases the task of mapping between the comparates by the use of dynamic code, design, and domain oriented visualizations of KBS execution. 1. INTRODUCTION Software Visualization (SV) [Price et al., 1993] is the use of filmcraft, cartoon animation and graphic design techniques to display data structures, programs, and algorithms. Software visualization is basically the unification of algorithm animation and program visualization, two concurrent developments from the 1980s. Algorithm animations are high level characterisations of how data is manipulated during a progra...

