From metaphors to microworlds. The challenge of creating educational software

From metaphors to microworlds. The challenge of creating educational software

Compur. Educ. Vol. 12. No. I, pp. 11-15, 1988 Printed in Great Btitam. All rights reserved Copyright KEYNOTE 0360-1315188 S3.00 +O.OO ,c 1988 Perga...

416KB Sizes 0 Downloads 38 Views

Compur. Educ. Vol. 12. No. I, pp. 11-15, 1988 Printed in Great Btitam. All rights reserved

Copyright

KEYNOTE

0360-1315188 S3.00 +O.OO ,c 1988 Pergamon Journals Ltd

ADDRESS

FROM METAPHORS TO MICROWORLDS. THE CHALLENGE OF CREATING EDUCATIONAL SOFTWARE DAVID

D.

THORNBURG

Innovision. P.O. Box 1317. Los Altos, CA 94023-1317.

U.S.A.

Abstract-Every time we use a computer we are working with metaphors. In some cases the metaphor is obvious, and in others not. This aspect of the computer is what makes it so useful. User interface metaphors like desktops. menus and windows can make computing appear more like the “real” activities in which we take part. In the realm of educational software, the task of programming boils down to the creation of a metaphorical microworld in which the user can interact with tasks and simulations that are designed to aid the acquisition and development of knowledge. Programming is hard no matter which language is used. The reasons why traditional authoring languages such as PILOT have failed to sweep through educationai computing have nothing to do with the syntax or structure of programming languages but more to do with the failure of the underlying metaphor. The major difference between various high level languages are not to be found in their syntaxes, grammars, or vocabularies, but in their metaphors. A Pascal programmer sees a program as a collection of procedures, a Smalltalk programmer as objects and messages. The trick to making programming easy is to make the metaphor of the language match that of the application. Construction set languages including good spreadsheet programs have become immensely popular tools arising from their ease of use as a direct consequence of the consistency of the metaphor as one moves from programming to execution. Construction sets have a strong limitation; they are not general-purpose tools. The closest we have come to general purpose direct manipulation languages is with products like Filevision (a Macintosh-based visual database) and Guide. Paper-based media are very well suited to linear progression from one topic to another. As soon as it becomes important to branch between two activities, they become cumbersome to use. It is the ability of computer programs to branch which gives them quite different functions from documents. While programming languages allow the creation of branching programs, there is a new class of application programs which provide the same capability based on metaphors that are a natural evolution from the linear world of paper-based documents. Hypermedia is a term that refers to this class of software. not to one particular application; for example, Filevision is a hypermedia database tool. Hypermedia tools have great potential as authoring systems and they can make life much more exciting for those of us involved in educational computing.

INTRODUCTION

Every time we use a computer we are working with metaphors. In some cases the metaphor is obvious, and in others it is not. An educational game, for example, might provide us with a model of life in 1Sth-century France in which we have to make decisions, negotiate contracts and perform tasks whose success is based in part on our understanding of this period of history. On a rational basis we know that there is no time machine or people with whom to negotiate, but this metaphor allows us to move beyond the computer to the application itself. On an even more basic level we must acknowledge that there are never any letters on the CRT, that the display shows only a pattern of dots that fuse in our mind to a form that we associate with a letter of the alphabet. The computer becomes the mirror of the mind’s eye. This aspect of the computer is what makes it so useful. User interface metaphors like desktops, menus and windows can make computing appear more like the “real” activities in which we take part. Those who prefer command line interpreters to “desktops” are merely expressing a preference for one metaphor over another. None of this matters to the machine. As far as the computer is concerned, code is code and bytes are bytes. The metaphor is a shared creation of the programmer and the user. I1

12

DAVID D. THORNBURG

In the realm of educational software, the task of programming boils down to the creation of a metaphorical microworld in which the user can interact with tasks and simulations that are designed to aid in the acquisition and development of knowledge. The task of creating good educational software is quite hard. Developers become partisans of certain programming languages in the hope that by mastering one language well they can create software in a wide range of topics in a reasonable period of time. Generally, they can’t do what they want as fast as they want to do it. Programming is hard no matter which language is used. Some educators who lack the time and interest to master full-blown programming languages attempt to work with “authoring systems” in the hope that such tools will allow them to create well-developed software without the effort or special knowledge required of a professional programmer. By and large, authoring systems have been failures as well. Why have traditional authoring languages like PILOT failed to sweep through educational computing? Why aren’t educators creating more software on their own? The reasons, I believe, have nothing to do with the syntax or structure of programming languages. The source of the problem is far deeper than that; it involves the poor match between the underlying metaphor of the language and that of the application being created. THE

CREATION

OF

EDUCATIONAL

MEDIA

To take a simple example, let’s imagine an educator preparing some illustrations for a lesson in geometry. Foils for use with an overhead projector are created by drawing them by hand. The image seen by the instructor during the creation process is exactly the same as the image seen by the student during the lesson. Suppose, instead, that the instructor chooses, to create a computer program to cover the same material. Illustrations in the computer program are created by a sequence of instructions to the machine, rather than by simply drawing pictures. For example, the command REPEAT 5[FD 50 RT 1441will draw a five-pointed star on the screen. Is this result obvious? Even proficient Logo users (this being the language used for the command) may not recognize the result from this listing. The creator of educational software has to continually bounce between the metaphor of the lesson and that of the language in which it is being created, thus doubling the effort involved. LANGUAGES

AS

METAPHORS

High level computer languages are programs and are therefore metaphors as well. As the noted computer scientist Edsger Dijkstra says in his book A Discipline ofProgramming: “There are two machines-the physical machine-the one that you pay for, that breaks down, that takes space on your desk. Then there is the abstract machine-defined by the functions the machine is to perform” [ 11. As programmers, we are trusting that the abstract machine is implemented in the physical machine. In fact, it might not be. For example. one could create a program that would accept 6502 machine code and allow it to execute on a 68000 microprocessor. From the programmer’s perspective, the computer is a 6502. The point here is that, even at the most basic level of programming, one cannot escape from metaphors. GENERATONS

OF

LANGUAGES

If computation is metaphorical at the machine level, it becomes even more so as we move to higher level languages. In assembly language, for instance, the metaphor of the machine is often expanded to include intructions that the computer cannot execute directly. Assembly language programmers call these “macros”, or macro instructions. By providing means that let the programmer believe that the microprocessor knows how to perform multiplication, for instance, the task of creating assembly language programs becomes simplified. At the first two levels of computer language (machine and assembly) the metaphor pertains to the machine itself. At this level it is the program’s purpose to instruct our computers. Once we move into the domain of high level BASIC, FORTRAN, COBOL, LISP, Prolog, Forth and

Metaphors and educational software

13

Smalltalk, it then becomes the computer’s task to execute our programs. This may seem like a subtle dinstinction, but it is not. I have come to believe that the major differences between various high level languages are not to be found in their syntaxes, grammars, or vocabularies, but in their metaphors. A Pascal programmer, for example, sees a program as a collection of procedures each of which produces some effect. A LISP programmer sees a program as a collection of functions that output results in much the same manner as mathematical operations. A Prolog programmer sees a program as a collection of assertions and rules that the computer can use as needed to respond to a query. Some metaphors (as seen by programmers) are shown below: Language

Metaphor

FORTRAN LISP COBOL FORTH Smalltalk Prolog Pascal

Algebra Mathematical functions Business English Push-down stack Actors and scripts (objects and messages) Logical theorems Procedures INTERNAL

METAPHORS

Just as languages have metaphors as seen by the programmer, the language designer works with metaphors as well. These internal metaphors deal with the way knowledge is represented in a program. To see one example, a Prolog designer might think of knowledge being represented by a tree. The equation; (3 * 6) + 2 = 20 might be represented (metaphorically) in Fig. 1. This can be represented internally in the computer as a list in which parentheses indicate the level of the tree: (EQUALS (20, PLUS (2, TIMES (3,6)))) Given that programming languages are metaphors, we can begin to see why the creation of major application programs is difficult. The programmer has the task of creating one metaphor out of another one. For example, the creation of a word processor in pure LISP corresponds to the task of describing a typewriter as a collection of mathematical functions. This is tricky and it is why multi-lingual programmers often spend some time deciding on their implementation language before creating any code. The trick to making programming easy is to make the metaphor of the language match that of the application. CONSTRUCTION

SETS

We have access to some languages that do this task quite well. The ease with which a user can create new pinball games with Pinball Construction Set is a result of the program’s use of the same metaphor whether a game is being constructed or played. Other construction set languages (including good spreadsheet programs) have become immensely popular tools. Their popularity arises from ease of use, and this is a direct consequence of the

EQUALS /\ PLUS /\ TIMES /\ 3

*O

* 6

Fig. 1

DAVID D. THORNBURG

14

consistency of the metaphor as one moves across the boundary from programming to executing a program. While construction sets have great value, they also have a strong limitation. They are not general-purpose programming tools. One cannot build a word processor using Pinball Construction Set, or create a music program with Multiplan. The closest we have come to general purpose direct manipulation languages is with products like Filevision, a Macintosh-based visual database program. I have used Filevision since 1984 as a tool for creating instructional software. Programs that would take me weeks to create with traditional tools can be assembled in a matter of hours with this program. But even Filevision (which was never intended to be a “language”) has its limitations. Other general purpose tools such as Guide (from Owl International) have great promise for use in creating instructional material, although certain subject domains can be handled with greater ease than others. The key to the construction of a general purpose direct manipulation language is to find a “meta-metaphor” that encompasses all application metaphors. Does such a metaphor exist? This question is being asked by those of us who are actively exploring direct manipulation programming. So far, the answer is not clear although there are some avenues of exploration that appear quite promising. THE

LIMITS

OF

LINEARITY

Why do we even try to use computers as instructional tools? Books and worksheets are far less expensive, are transportable, and can be used in places remote from electrical power sources. Paper-based media are very well suited for the expression of linear progressions from one topic to another. As soon as it becomes important to branch between two activities, or to be guided to a new place based on the result of activities at another place, paper-based documents become clumsy and cumbersome to use. It has been said that the heart of the computer is its ability to handle statements of the form . This capacity to branch on the basis of certain states in the machine is what makes IF. . .THEN.. computer programs perform functions quite different from written documents, even when the material being presented consists of subject matter normally found in books. HYPERMEDIA

While programming languages allow the creation of branching programs, there is a new class of app!ication programs that provide the same capabilty based on very straightforward metaphors that are a natural evolution from the linear world of paper-based documents. These programs are based on a very simple idea first expressed by Vannevar Bush in the 194O’s[2]: Imagine a document consisting of text describing the Babbages’s invention of the Analytical Engine. As you read the document on the computer screen you come across the name Ada Augusta, Countess of Lovelace. Intrigued, you position the cursor over her name and press a special key. Immediately you are transfered to a document describing this wonderful mathematician. As you read along, you find that her family name was Byron. Selecting this name sends you to another document on her father, Lord Byron, describing his work with Percy Shelley from which you could then trace the origins of Mary Shelley’s book Frankenstein. Having satisfied your curiosity (and discovered other realms of knowledge to explore at a later date) you can then backtrack your way to your original document on Babbage and continue your study of the foundation of modern computing. This document contains numerous opportunities for branching and supports this type of branching in a way that is natural to the reader and author as well. Because both author and reader are working with a consistent metaphor effort is spent on the creation of instructional material, not on fighting with the computer. In other domains, pictures of microscopic animals can be equipped with “hot spots” that branch to more detailed pictures or to written descriptions. Multiple choice questions can have answers that, when selected, automatically branch to other material. The possibilities are endless. It is important ‘to understand that hypermedia is a term that refers to a class of software, not to one particular application[3]. For example, Filevision (from Telos) is a hypermedia database

Metaphors and educational software

IS

tool, Guide (from Owl) is a hypermedia document processor, and Calliope (from Innovision) is a hypermedia idea processor. I envision other hypermedia tools becoming available soon, including hypermedia spreadsheets and graphic systems. Hypermedia tools have great potential as authoring systems and we should be exploring them in depth. Do they represent some universal meta-metaphor from which all programs can be created? I think not, but in the meantime they can make life much more exciting for those of us involved in the field of educational computing. REFERENCES 1. Dijkstra E., A Discipline of Programming. Prentice-Hall, Englewood Cliffs, N.J. (1976). 2. Bush V., As we may think. Atlantic Monrhly (July 1945). 3. Ofiesh D. G., The seamless carpet of knowledge and learning. In CD ROM: The New Papyrus. Microsoft Press (1986).