Objector, yet another authoring system - Springer Link

3 downloads 901 Views 678KB Size Report
There is a growing interest in course delivery supported by computers. ..... provides a complete Computer Managed Instruction, CMI package to maintain the list.
OBJECTOR, Yet Another Authoring System Tomasz Mfildner, Mohamed Elammari Jodrey School of Computer Science Acadia University Wolfville, BOP 1X0 Nova Scotia, Canada tel. (902) 542-2201 ext. 331 email: solid@ aucs.acadiau.ca

Abstract In this paper we argue that most commercially available authoring systems are not powerful enough for the development of specialized presentations such as courseware for teaching computer science. We briefly review several existing authoring systems and show their weak points. Then, we describe the design and implementation of OBJECTOR, an object-oriented authoring system. OBJECTOR is an authoring system which has all the required features such as a multi-window environment, text and graphics editors, and hypertext facilities modifiable by the learner. In addition, OBJECTOR is an open system which can be easily modified and extended by the author.

Introduction There is a growing interest in course delivery supported by computers. This interest has been generated by various applications of computers in remote education, for example the use of electronic mail to provide assignments and gather students answers, and the use of computer conferencing systems to provide on-line interaction between students and instructors. But even more interesting and increasingly popular application of computers in supporting course delivery is the use of computers in the classroom and laboratory to present course material and to interact with the student, see [Cha-She89a, Mer85, She-Lar87]. The latter application has become possible only recently with the development of high-speed processors and large internal and external memories. A computer can be interfaced with many devices to produce

479

still images, live videos and sound. A material for the class presentation can be organized through a specialized computer program. This program allows the instructor to show slides, movies, etc., at the required time during the lecture. The presentation can be highly interactive, with the computer asking questions, judging students answers, and so on. There are many universities which created specialized laboratories to produce and offer courses taught with the extensive use of computers. But the interest is not limited to the academic world; many factories, banks, insurance companies and other enterprises are engaged in computer-based learning and teaching. In this paper, we are concerned with the development of courseware for teaching science, in particular computer science. We have reviewed several commercially available authoring systems for the Macintosh: Authorware, HyperCard, and Course Builder [CB]. We have also reviewed other systems for MSDOS-based computers: Authorware, cT, IconAuthor [IA], Quest [QU], Tencore [TE], and Toolbook [TO] (for other reviews, see [You84, Co189]). In Section 1, we describe in details the following five authoring systems: Authorware, IconAuthor, Tencore, Toolbook and Quest. We concentrated on these systems because, in our opinion, they are the best systems for the applications to the post-secondary level education. In Section 2, we describe the basic ideas behind the design of OBJECTOR, an object-oriented authoring system, and in Section 3 we show some details of the implementation of OBJECTOR in the C++ programming language.

1 Review of Several Authoring Systems Practically all authoring systems described in this paper fall into the category of the Branching Programmed Instruction Model [Mer85]. Courseware consists of a number of lessons, each lesson consists of a number of frames. Thus, this model is based on the a concept of the book. A frame corresponds to a page in the book and branching to turning pages. Each frame may contain various objects, such as text fields, graphic fields, hypertext buttons, etc. Authoring has become popular when the Apple Company started providing a free Hypercard system with each new Macintosh computer. Hypercard has its MS-DOS counterpart, called Toolbook. These two systems are almost identical, and so in this paper we describe only Toolbook. Most authoring systems are designed for users with little, if any, programming experience and they provide a point-and-click (PAC) interface to select authoring commands. Few systems provide both, a PAC interface and a textual representation of the authoring language, (AL). There are several variations of the latter technique. In some systems, the user

480 first builds a sequence of frames, using a PAC interface. Then the user can use the AL to attach commands to a frame, or a particular object within the single frame. We will call these systems PACL systems. In other authoring systems there are two levels of authoring. At the first level, the author uses the PAC interface to build a prototype of courseware. The authoring commands selected by the author are saved in textual form. After the prototype has been tested and modified, the author may move to the second level to work with the AL. At that level, it is easier to tune up the details of courseware presentation. Here, we call these systems PAC/AL systems. There are two variations of the PAC systems: 9 Flow-line PAC systems, with menu of design icons and flow line. The author selects a required icon from the menu and then places it on a flow line. A design icon can be placed anywhere on a flow line, not necessarily at the end of this line. Also, design icons which are already placed on the flow line can be removed, edited and copied. At any time, courseware represented by icons on the flow line can be executed, or stored in a file. 9

Flow-control PAC systems, with menu of icons, but without a flow line. Each icon has input ports and output ports. The user places icons on the screen, and then connects output ports of an icon with the input port of another icon, thereby specifying the flow of control from the former icon to the latter.

Some PACL systems provide a small, special-purpose programming language, others additionally provide the interface to programs in a conventional programming language, such as Pascal or C. The latter option is particularly useful if there is a need to pass data between courseware and the program.

1.1 D e v e l o p m e n t of C o u r s e w a r e

PAC systems are particularly attractive for naive users. Two examples of these systems are Authorware and IconAuthor, both systems use a flow-line PAC interface. Variables and single-dimensional arrays are available through a specialized variable editor, but data types are not supported. All mathematical operations are performed using real arithmetics. Basic mathematical functions are available, for example trigonometric functions. Both systems support control structures~econditional and iterative statements, created by specialized icons. To give the user a tool to structure courseware, both systems provide composite icons, which are similar to procedures in conventional programming languages. They can input values of global variables and then, upon completion, return values. Course Builder is a similar authoring system, with a flow-control PAC interface.

481

Quest is a PACL system. It comes with the menu-driven editor and Quest Authoring Language, QAL. A QAL program can be stored in a frame and executed when this frame is entered (the program and the frame can share data). A frame may store up to 500 objects (10,000 bytes), thus QAL programs may have at most 800 lines. QAL is a Pascal-like language and it supports variables of type integer, real, character and string. It also supports arrays, user-defined functions and procedures, conditional and iterative statements and special-purpose commands to draw graphic figures, procedures to clear and fill figures, and finally procedures to operate on libraries. Toolbook is a PAC/AL system. Its authoring language, OpenScript is practically identical to Hypercard's HyperTalk, and it is an object-based programming language, without inheritance. Tencore is also a PAC/AL system. It provides a menu-driven version called Producer. Unfortunately, Producer does not support variables and so it is not possible to develop courseware based on students responses, for example one in which a student would be asked to enter two numbers, then the sum of these numbers, and finally it would verify whether or not the student's answer was correct. The Tencore AL can be used for such applications, but we have found this language to be difficult to use because of its rather poor design. For example, there are several, syntactically different forms of an assignment statement, depending on whether you assign numbers or strings. Incidentally, cT's programming language is practically identical to that of Tencore's. IconAuthor and Tencore require specialized interpreters, here called drivers to run applications, that is the author cannot create stand alone applications. Courseware developed using Toolbook comes with the source code, but this code can be removed using a specialized Author Resource Kit, ARK, available from Asymetrix. Authoring systems that do not support a programming language, that is pure PAC systems are not powerful enough to create more advanced applications. Limitations on existing PACL and PAC/AL systems make it very difficult, and sometimes impossible to create courseware for teaching science, in particular computer science. For example, to develop courseware for teaching a programming language one may wish to develop an interface with existing tools, such as an editor or a database. With this interface, courseware could communicate with the tools, by passing and receiving data. Unfortunately, most authoring systems are "closed", that is they do not supportt communication. Windows 3.0based systems, such as IconAuthor and ToolBook support a Dynamic Data Exchange, DDE communication. Unfortunately, this support is not always sufficient. For example, it may be necessary to develop a Windows-based editor, and the programming languages that come with these authoring systems are too limited for this purpose. Authoring systems should provide "hooks" to attach routines written in other programming languages. In Sections 2 and 3 we support our claim that the provision of hooks for external routines is not the best

482

solution and it is better to have an authoring system written in an object oriented programming language. For this system, the author can use constructs such as inheritance to add any required features and tools, tn what follows, we continue the review of most important features of the selected authoring systems.

1.2 Text and Graphics Tencore supports four font sizes and different formats such as highlights, underscores, italics, boldface, etc. Fixed and variable spacing (but not proportional) are supported. Quest has similar features, and in addition it has a rather unique feature: a timed text, i. e. the text is displayed on the screen, one character at a time, as if someone was typing the text. Time intervals between the two successive occurrences may be set by the author. On the negative side, Quest does not support window-based applications, for example scrolling has to be simulated using programming tricks. None of the systems we have reviewed allows the author to create a multi-window editor that could be used by the learner. IconAuthor has a specialized text editor, with most editing functions. Authorware supports a typical, Macintosh-like editing. Now, we discuss the graphic constructs. None of the systems evaluated in this paper supports three-dimensional graphics, but all of them support color two-dimensional graphics. Most systems provide specialized editors for object-oriented graphics and the author can include bit-mapped graphics into frames. In IconAuthor, bit-mapped graphics can be displayed on the screen clipped or sized. Some systems allow for transformations of graphic objects (translation, rotation, etc.), for example in IconAuthor, the author can flip figures horizontally and vertically, and invert colors. The area to be affected can be specified as a rectangle or a polygon. A selected area can be erased using an eraser. In Toolbook, the author can create many layers, each layer contains a number of objects. Only objects from the current layer can be accessed, but it is possible to switch between layers. All authoring systems we reviewed support serial animation, but none of them supported parallel animation. In Tencore, to select an area on the screen to be animated, this object has to be enclosed by a frame, that is it cannot be specified as an object, such as a circle. Steps in the animation and the time between the consecutive steps can be specified (both in discrete units). IconAuthor is particularly powerful for the creation of animated graphics. It provides three specialized programs: Graphics Editor~ Animation Editor and a graphics utility program, RezSolution. RezSolution can be used to modify bitmap graphic files, by resizing them and changing the graphic image resolution. Specifically, for any graphic object the following properties can be changed: width, height, number of colors,

483

horizontal and vertical resolution, and the zoom that is the percentage by which the object is enlarged or reduced. RezSolution can also be used to capture the screen.

1.3 Software Interfaces It is often desired to write a "key handler", that is a routine which is activated when the corresponding key is pressed. Tencore allows the author to write key handlers for up to 10 keys, for example in order to execute a specific unit (in particular to execute first, last, next, previous, the same unit). In IconAuthor any iconware (a complete courseware packaged into a single icon) can be assigned as a handler to the left or to the fight mouse button, or to any key on the keyboard. If the mouse is used, a rectangular area on the screen can be assigned, and the iconware is invoked only if the mouse pointer is positioned in this area and the required mouse button is clicked. For many applications, the author may wish to implement some routines in a generalpurpose programming language, such as C, and then call these routines from courseware. For example, if an authoring system lacks statistical routines, these can be written in C. If an authoring system can be interfaced with another programming language, this system can be extended by adding programs in this language. IconAuthor supports DDE to exchange data with other Windows 3.0 applications, and the Dynamic Link Libraries, (DLL) to invoke subroutines written in Microsoft C version 6.0, compiled under Microsoft Windows Software Development Kit. Finally, it supports database interface with DBASE III+ and DBASE IV. In Quest, external programs written in Pascal and C programming languages, and QAL can be called, but these programs do not share data with lessons. (Recall that QAL programs that are attached to frames do share data, but these programs are limited in size.) Clearly, any Macintosh-based authoring system allows to cut-and-paste information presented in courseware, to other tools available on the given system (and from these tools). This is also true for systems running under Windows 3.0. For example, in IconAuthor, any graphic file that can be copied to the Microsoft Windows 3.0 clipboard, can be imported. In addition, in most authoring systems the author can import bitwise files, for example in Tencore two extemal paint files, PC Paintbrush and Dr. Halo can be imported.

484

1.4 Questioning and Judging The most important issues related to questioning and judging are the types of questions supported (multiple choice, true or false, fill-in the blanks, numerical), the placement of a response, and a support for the pointing devices, for example in order to ask the learner to move some objects to the required places on the screen. Quest, IconAuthor, Authorware and Tencore support the above four kinds of questions. In Tencore, for questions that involve numbers, the author can provide ranges for correct and wrong answers. In IconAuthor, the learner's answers can be given through keys or the mouse. Timeout can be specified. The feedback given after the user's answer may involve reverse highlighting the selected area, drawing a box around this area, or both. The author can assign points for correct answers and the system will keep track of the total score. In Toolbook, the author has to write the required routines to handle the question analysis. In many cases, it is desired to use inexact matches. For example, Tencore's author can specify words that will be ignored, or synonyms. By default, Tencore ignores punctuation but this can be changed. The following specifications can be toggled: accept misspelled words, provide markups (indications of misspeled characters), accept extra words, require correct order, ignore case (capitalization), start judging when the user reaches the input limit, and set the maximum length of the input.

1.5 Performance Evaluation and Activities Management Authoring systems should help in managing student records, building a catalog of lessons, enrolling students in the course, and so on. Also, student answers can be stored in variables and processed using custom programs or built-in statistics program libraries. These libraries may also provide a report generation and regression analysis. In Tencore, Quest and ToolBook, a password can be used to protect students from enrolling. A log is automatically generated when the learner traverses courseware. It saves the date and time the lesson was last used, the total time it was used and the total number of sessions, the score, and produces a report with data on who used the lessons and how far the users have progressed in the lessons. The author can restrict students from retaking the completed activity. Similarly, Quest provides a complete Computer Managed Instruction, CMI package to maintain the list of available courses, register students and monitor their progress.

485

1.6 Hypertext Facilities Recently, CBT presentations started using hypertext facilities to support non-linear style of learning. These facilities include links between various objects, and other navigational tools: references, index, table of contents, bookmarks, margin and global notes, help windows, and menus (for more complete description, see [Tom91, Miil91]). Few authoring systems support these concepts, see [Kea88]. For example, ToolBook provides hotwords which can be activated to move to another part of the presentation. None of the systems we have reviewed supports learner-modifiable hypertext links.

2 Design of OBJECTOR The design of OBJECTOR was based on the idea that the author should be provided with a powerful and open development environment. Thus, we have assumed that the author is an experienced programmer, who does not have to resort to PAC-like programming systems. OBJECTOR provides the author with the following facilities: mutliple windows, various fonts and formats, modifiable graphic objects, textual and PAC question analysis, icons, push-buttons, menus, and scrollbars, learner-modifiable hypertext facilities. Since OBJECTOR is designed to be an open system, we have decided to use an object oriented programming language, C++. This kind of a language seems to be ideal for the above requirements (for the discussion of object-oriented programming in C++, see [Stro91]). In particular, the users of OBJECTOR do not have to memorize information about the various windows, icons, etc., because all the information associated with an object will be encapsulated inside that object. Some of the predefined classes could be used for authoring specialized applications. For example, the classes List, Stack, and Tree could be used to develop courseware on the use of Data Structures in Computer Science. Inheritance can be used to develop specialized classes. In addition, an object-oriented implementation is well suited for event-driven environments. (For example, the OpenScript programming language used in ToolBook is an object-based language, used to handle various events, such as the key press, or the mouse click.) Using the C++ implementation of OBJECTOR, authors will be

486 able to implement all features discussed above, in particular user-modifiable hypertext facilities, specialized tools interfaced with courseware, etc. We have decided to use a specific implementation of C++, namely Borland C++ [BOR91], because this implementation allows programmers to develop applications running under Windows 3.0--a powerful and increasingly popular multi-window environment based on the MS-DOS operating system. We have decided to use Windows 3.0 because it provides a multitasking environment, with a consistent "look and feel" across applications. Internally, Windows 3.0 is "almost" an objectoriented system, and the C++ interface makes it easy to use.

3 Implementation of OBJECTOR in C++ Lack of space prevents us from providing a complete description, therefore below we present several selected C++ classes developed to implement the OBJECTOR authoring system.

3.1 Text and Graphics The three basic classes to manage the text and graphics are Window, Text, and Object. The class Window enables the author to create on the screen multiple windows and to switch between them. The author can also change the attributes of windows, such as the size, the location, the title, etc.: class Window { void CreateWindow(...); void RemoveWindow(...); void MoveWindow(...); void RemoveWindow(...); void Size(...); . o .

} The class Text can be used to create various font sizes and formats within windows: class Text { void Font(...); void Write(...); void Size(...); void SetOption(...);

-- e.g. Bold

487 Finally, the objects of a class Object represent various figures: class Object { circle(real x, y, r); square(real x,y,w); . . .

} Note that the author can easily modify the existing class, using inheritance, for example to add new figures, or to define color circles.

3.2 Questioning and Judging There are several predefined OBJECTOR classes to deal with questions and judging. Here, we list a few classes; first the classes designed to provide authors with templates for questions: class MultipleQuestion; class TrueFalse; class FilllnBlank; class matching; class answer { string getlnput(void); string getlnput(int charLimit);

The class judge provides optional words, a spelling checker, markups, synonyms, and the support for wild cards: class judge { boolean match(...); , . ,

3.3 Performance Evaluation and Activities Management In order to enroll a student, the instructor will use the object of the class Instructor: class Instructor { string name;

488 string passwd; void SetUser(...); void EvaluateStudent(...)

/; The object of class Evaluate would be used in order to obtain information on the progress of an individual student or the entire class: class Evaluate { void ShowScore0; void ShowMarks0;

I; For the sake of protection in multi-user environments, students must enter a password to verify whether or not they can use the above routines.

3.4 Hypertext Facilities The basic class designed to support the hypertext facilities defines a hotword, i.e. a word which, when activated (for example by clicking it with the mouse) moves the learner to another screen: class hypertext { StfingLocation; NextFrame;

1; Buttons are objects of a class button: class PushButtons { void CreateButton0; void RemoveButton0; void Enable(); void Disable(); void MoveButton0;

} The objects of a class MarginNotes represent margin notes that can be created by the learner: class MarginNotes { stringfilename; void CreateNoteIcon0;

489

! The contents of a note would appear in a separate window, but would be permanently stored in a file. This is necessary because C++ does not support persistent objects, that is objects that do not disappear when the program terminates.

4 Conclusion At the time this paper was written, we have designed most classes needed to develop OBJECTOR, with the exception of the interface with the external devices. We have implemented and tested some classes, in particular the user interface classes. The future work will concentrate on the implementation of all required classes, and the design and implementation of the hardware interface classes. We will also implement in OBJECTOR a sample courseware for teaching programming languages.

Acknowledgements This work was partially supported by the fund form the Huggins Science Funds, Acadia University, 1991. The authors of this paper would like to express thanks to the following companies for providing evaluation copies of their software: TeleRobotics International, Inc. (Course Builder Series Version 4.0), AimTech Corporation (IconAuthor version 3.0), Computer Teaching Corporation (Tencore Producer and LAS), Allen Communication (Quest, Version 3.0), Asymetrix Corporation (ToolBook).

References [BOR91] Borland C++. Borland International, 1991. [Cha-She89] Ruth W. Chabay, Bruce A. Sherwood. A Practical Guidefor the Creation of

Educational Software. Center for Design of Educational Software, Carnegie Mellon University, Technical Report No. 89-06, April 1989. [Col 89] Michael A.J. Collins. The Hidden Costs of Computer CoursewareAuthoring Tools. Educational Technology. June 1989. pp. 46-47. [Haz87] Margret Hazen. Criteriafor Choosing Among Instructional Software Authoring Tools. Journal of Research on Computing in Education. Winter 1987. pp. 156-164. [Kea88] Greg Kearlsey. Authoring Considerationsfor Hypertext. Educational Technology. November 1984. pp. 21-23.

490 [Mer85] M. David Merill. Where is the Authoring in Authoring Systems?. Journal of Computer-Based Instruction. Autumn 1985, Vol. 12, No. 4, pp. 90-96. [Mill91] Tomasz Mtildner and Robin Blondon. Design and Implementation of Courseware for Teaching Programming Languages. To appear as a technical report. Jodrey School of Computer Science, Acadia University. [She-Lar87] Bruce A. Sherwood, Jill H. Larkin. New Tools for Courseware Production. Center for Design of Educational Software, Carnegie Mellon University, Technical Report No. 87-05, June 1987. [Stro91]. Bjarne Stroustrup. The C++ programming language. Second Edition. AddisonWesley Publishing Company, 1991. [You84] Jerry, L. Young. The Case for Using Authoring Systems to develop Courseware. Educational Technology. October 1984. pp. 26-28. [Tom91]. Ivan Tomek, Saleem Khan, Tomasz Mtildner, Mostafa Nassar, George Novak and Piotr Proszynski. Hypermedia-Introduction and Survey. Journal of Microcomputer Applications, Vol. 14, 1991, pp. 63-103.

Authoring Systems [CB] Course Builder Series Version 4.0. TeleRobotics International, Inc. 7325 Oak Ridge Highway, Suite 104, Knoxville, Tennessee 37921. [IA] IconAuthor version 3.0. AimTech Corporation. 77 Northeastern Boulevard, Nashua, New Hampshire 03062. [TC] Tencore Producer and LAS. Computer Teaching Corporation. 1713 South State Street. Champaign, Illinois, USA 61820. [TO] ToolBook Version 1.5. Asymetrix Corporation, 110th Ave., N.E. Suite 717, Bellevue, Washington 98004, USA. [QU] Quest, Version 3.0. Allen Communication. 5225 Wiley Post Way. Salt Lake City, Utah 84116.