GNOSIS - A CAI Author Language and Preprocessor =============================================== (c) Copyright 1978 by Walter Maner Department of Philosophy Old Dominion University Norfolk, VA. 23508 Based in part on an earlier manuscript by Jacob Palme, Swedish Research Institute of National Defense, Stockholm, Sweden ABSTRACT GNOSIS provides a CAI authoring language which makes it relatively easy for any teacher with a basic understanding of "programmed" textbooks to develop computerized tutorials for his students. Although material already written in such a format can be transformed virtually as-is by GNOSIS into a form suitable for computer delivery, the teacher would normally be writing his own "script." This script, because it simulates the dialogue one might overhear if that teacher were tutoring a student in private, can be made to "come to life" on a computer terminal by the addition of a few simple GNOSIS command words. The computer driven tutorial is, in reality, a compiled version of the ALGOL program GNOSIS writes in response to the script prepared by the teacher. In fact, GNOSIS has been designed in such a way that the ANY of the facilities of ALGOL can be exploited anywhere in the lesson. The fact that GNOSIS has been designed to function as a TEACHING rather than as a TESTING system is reflected in program logic at all levels. In accord with this design philosophy, GNOSIS tempers negative and positive feedback according to psychological context, simulates a correct response (and the comment which would have accompanied it) when all else fails, encourages student control through skipping and backstepping facilities, and generates teacher reports which are geared to lesson improvement. KEY WORDS AND PHRASES: GNOSIS, Computer Assisted Instruction, CAI, instruction, teaching, education, computer, learning, school, pedagogy, pedagogics, Digital Equipment Corporation, DEC, PDP, ALGOL, SIMULA. GNOSIS.DOC Page 2 * TABLE OF CONTENTS 1.0 WHAT IS COMPUTER ASSISTED INSTRUCTION (CAI)? 1.1 What Are The Supposed Advantages Of CAI? 1.2 What Is CAI Supposed To Do For The Teacher? 1.3 What Is CAI Supposed To Do For The Student? 1.4 What Are The Supposed Disadvantages Of CAI? 2.0 BASIC CHARACTERISTICS OF GNOSIS 3.0 THE GNOSIS COMMAND LANGUAGE 3.1 A Simple GNOSIS Lesson 3.2 Advice For Beginners 3.3 Alphabetical List Of GNOSIS Commands 4.0 GNOSIS TWO-PAGE SUMMARY 5.0 PRECEDENCE TABLE FOR GNOSIS COMMANDS 6.0 ERROR DIAGNOSIS AND RECOVERY 6.1 GNOSIS Translator Messages 6.1.1 GNOSIS Error Messages - 6.1.2 GNOSIS Warning Messages - 6.2 ALGRTS (ALGOL Run-time System) Messages 6.3 ALGOL Compiler Error Messages 7.0 WRITING ALGOL SEGMENTS INTO YOUR LESSON 7.1 Standard Variables And Procedures 7.1.1 GNOSIS Variables - 7.1.2 GNOSIS Procedures - 7.2 Creating Variables 7.3 Creating Procedures 8.0 WRITING GNOSIS LESSONS 8.1 Question Types 8.2 Lesson-generated Diagnostic Profiles 8.3 Some Advice 9.0 RUNNING GNOSIS 10.0 SETTING UP STUDENT ACCOUNTS GNOSIS.DOC Page 3 INDEX OF GNOSIS COMMANDS A.0 SELECTED BIBLIOGRAPHY B.0 ILLEGAL LABEL NAMES C.0 USE OF IF-CLASS COMMANDS C.1 Example I C.2 Example II D.0 USEFUL MIC PROGRAMS D.1 GNOSIS.MIC D.2 SORT.MIC E.0 MACRO ROUTINES E.1 INTRUT Intercept Routine E.2 R Routine E.3 RUN Routine F.0 SAMPLE GNOSIS PROGRAM G.0 FORMATTING THE .ALG FILE H.0 CONTENTS OF GNOSIS DISTRIBUTION TAPE I.0 IMPLEMENTATION CHECKLIST I.1 Essential Steps I.2 Other Desirable Steps I.3 Testing GNOSIS.DOC Page 4 ' * ACKNOWLEDGMENT The author wishes to express his appreciation to Jacob Palme for much insightful advice and for his assistance with Swedish texts; to the Old Dominion University Research Foundation for a Summer Research Grant (1976) which funded preliminary work on GNOSIS; to the National Science Foundation's program for Comprehensive Assistance to Undergraduate Science Education (CAUSE) which funded, via the ODU CAUSE office, crucial work on GNOSIS during the summer of 1977; and to the ODU Computer Center for a generous allowance of computer time throughout a three-year period. * GNOSIS.DOC Page 5 WHAT IS COMPUTER ASSISTED INSTRUCTION (CAI)? * 1.0 WHAT IS COMPUTER ASSISTED INSTRUCTION (CAI)? The surprising answer to this question is that, with the possible exception of certain kinds of generative or simulation programming, there is nothing inherently new about CAI. The computer -- grand as it is -- simply provides a new vehicle for doing the various kinds of things teachers have always done, though perhaps with less convenience and efficiency. From the teacher's point of view, then, the invention of the computer should be viewed on a par with the invention of the erasable chalkboard, the printing press, the pencil, the video tape machine, the overhead projector, and so on. Each provided nothing more than a distinct instructional medium which could then be exploited by the teacher and learner alike. No matter what the computer does for us, it is still true that curriculum materials must be organized, developed and evaluated by the trained teaching professional. The computer is about as much a threat to the competent teacher as the textbook. It is true that suitably programmed machines will increasingly do certain things faster or longer or more accurately or in more places than human beings. But note that this amounts to a continuing REDEFINITION of what should henceforth be considered "the human use of human beings"! If there is any teaching function which could better be left to some automatic medium, then it clearly SHOULD be left to this medium most of the time. Why? Because it would be DEGRADING for any human being to continue to perform such a menialized task (e.g., grading homework). The computer revolution promises, therefore, to give teachers increasingly more time to concentrate on their "higher" roles -- a vision of the future which should please all but the incompetent. CAI is often confused with Computer Based Instruction (CBI) and Computer Managed Instruction (CMI). We say a course is computer BASED when the computerized materials can stand alone as a complete and adequate resource. Very few courses now claim to be computer based and, in this sense, GNOSIS.DOC Page 6 WHAT IS COMPUTER ASSISTED INSTRUCTION (CAI)? only a scarce few ever will be. Computer MANAGED instruction, in contrast to both CAI and CBI, has little to do with the delivery of instruction. CMI fulfills a role which is largely (or even exclusively) administrative. That is, it assists the teacher with what has been called "classroom management": student records, test construction, test grading, statistical chores, and so on. CAI provides exactly what the term "assisted" implies -- i.e., a helpful extension of the usual course methods and materials. The role of CAI at the present time, and for the foreseeable future, is primarily one of course enrichment.[1] 1.1 What Are The Supposed Advantages Of CAI? Whatever claims are made for CAI, it is clear that their proper evaluation is an empirical matter. If CAI IS better then it will have to prove itself better in the usual way, through educational research. What follows below, then, is a discussion of some advantages commonly ALLEGED for this mode of instruction. They represent conjectures this author finds plausible apriori and, as such, they could probably best serve us as research hypotheses. And who knows? Perhaps your own research will be a factor in determining which of these guesses are more nearly in line with the facts. 1.2 What Is CAI Supposed To Do For The Teacher? 1. By making it unnecessary for the teacher himself either to present or to evaluate the large amount of drill and practice students will need to have in skill-oriented courses, CAI should in theory free the teacher for more creative and intellectual encounters with students. 2. Because a CAI program can routinely manage a student's path through curriculum material (based, of course, on decision criteria the teacher supplies), the computer should in theory make it possible for the teacher to individualize instruction in circumstances where it was not administratively feasible to do so before CAI. --------------- 1. There is much progress being made in a number of related areas, however. These include GCAI (Generative CAI), SCAI (Simulation CAI), CAG (Computer-assisted Guidance), CAT (Computer-administered Testing), CGT (Computer-generated Tests), and even certain administrative applications. GNOSIS.DOC Page 7 WHAT IS COMPUTER ASSISTED INSTRUCTION (CAI)? 3. Because a CAI program can AUTOMATICALLY generate teacher reports on individual student progress through curriculum material, it can provide diagnostic or evaluative data which would be decidely less convenient to develop using more traditional approaches. 4. Because teacher reports are developed immediately, CAI should afford the teacher the opportunity to evaluate instructional content and strategies while there is still time to change them for the better. 5. Because CAI programs can be edited at any time the author feels so inclined, even while in active use by students, revision can be continuous and responsive. 6. Because changes can be effected in computer programs without the need to retype and reformat the program as a whole, the editing chore is comparatively painless from the standpoint of "manuscript management." 7. For all the reasons given above, desirable changes are more likely to be made than they would be if, say, the instructional vehicle were a published textbook. 8. Because a CAI program always performs exactly as designed, it provides an unsurpassed opportunity for the teacher qua educator to do research under carefully controlled experimental conditions. 1.3 What Is CAI Supposed To Do For The Student? 1. Because a computerized lesson can be delivering instruction in any one of several places, simultaneously, it should normally prove to be more accessible than the teacher. 2. Because a computerized lesson can in principle be delivered at any time, the student should in theory be able to benefit from a more flexible scheduling of his workload. 3. Because CAI permits a student to make his mistakes discretely, it should in theory promote greater involvement by students who are normally reticent or who find the typical classroom environment intimidating. GNOSIS.DOC Page 8 WHAT IS COMPUTER ASSISTED INSTRUCTION (CAI)? 4. Because a well-designed computerized lesson simulates sessions of private tutoring, the student should come to look upon the medium as a vehicle for personalizing instruction. 5. Because the student can proceed at his own pace, slower learners should not ever have to be embarrassed by their more gifted peers; nor should these gifted themselves ever have to wallow in boredom while the teacher struggles with the less advantaged. 6. Because the machine never tires, it should be able to provide whatever amounts of drill and practice are necessary for a student to become successful. 7. Because feedback is immediate and pertinent, there should be little opportunity for the learner to become entrenched in bad habits. 8. Because the student may exercise some control over the delivery of the computerized lesson, he should in theory be able to contribute to the individualization of instruction in partnership with the teacher. 9. Because a computerized program IS so attentive and responsive, it should be more motivating for students to learn in this way than in circumstances where the student is lost in a sea of faces. 10. Because the computer forces the learner into an active role, he should be able to learn more ... better ... faster, and he should be able to retain it longer. 11. Because CAI furnishes the student with tangible indications of his progress through the curriculum, he should in theory be more highly motivated than, say, the student who is told of his progress (or lack of it) only at examination time. 12. Because the program can be made to adjust to the level of competence actually demonstrated by the student, he should be able to get precisely the amount of instruction he needs on each occasion so that his time is used to maximum advantage. GNOSIS.DOC Page 9 WHAT IS COMPUTER ASSISTED INSTRUCTION (CAI)? 1.4 What Are The Supposed Disadvantages Of CAI? 1. Because computerized lessons are easy to revise, it is difficult to excuse oneself from this essentially endless chore. 2. Because the routine use of computerized lessons can generate an avalanche of valuable data about students, the onus is on the teacher as never before to make informed judgments about students. 3. Because of the highly tutorial nature of CAI lesson design, the author is forced as never before to enter the minds of his students, to anticipate their responses, and to prepare individualized diagnostic comments. Not every teacher -- not even every GOOD teacher -- commands the necessary insight. 4. Because the preparation of computerized lesson material demands a degree of organization not normally required either for lecturing or textbook authoring, CAI can force the teacher to spend considerable time restructuring his course. 5. Because a well conceived, half-hour computerized lesson will require, on the average, about twenty hours of authoring time, many teachers will have to move slowly into CAI. 6. For the same reason, teachers will be reluctant to change textbooks once they have written computerized lessons to accompany them. 7. Because a CAI program is, like a book, a direct indication of the author's mastery of the material and of his techniques for presenting it, any deficiencies which may exist are likely to be highly visible to students and colleagues. 8. Because computer resources are -- and will continue to be -- limited relative to demand, both teacher and student will find themselves competing for their "piece of the machine." 9. Because of the present anti-competitive nature of the computer industry (and for other reasons), a CAI program will not be nearly as sharable or as marketable as a textbook, video cassette, or film. 10. Because the use of computer lessons presupposes some minimal typing ability, certain students may not avail themselves of the opportunity CAI provides unless special orientation is provided. GNOSIS.DOC Page 10 WHAT IS COMPUTER ASSISTED INSTRUCTION (CAI)? 11. Because approximately correct responses and misspelled responses are usually treated exactly like wrong responses by the program, a student may become frustrated. 12. Because CAI permits flexible pacing by learners, the teacher must be prepared to confer with students on ALL aspects of the course at any time. It is not enough just to be prepared for the unit at hand. GNOSIS.DOC Page 11 BASIC CHARACTERISTICS OF GNOSIS * 2.0 BASIC CHARACTERISTICS OF GNOSIS GNOSIS provides, through its ten basic commands,[2] a simple CAI authoring language which makes it easy for any teacher with a basic understanding of "programmed" textbooks to develop computerized tutorials for his students. Although material already written in such a format can be transformed virtually as-is by GNOSIS into a form suitable for computer delivery, the teacher would normally be writing his own "script." This script, because it simulates the dialogue one might overhear if that teacher were tutoring a student in private, can be made to "come to life" on a computer terminal by the addition of a few simple GNOSIS command words. The computer driven tutorial is, in reality, a compiled version of the ALGOL program GNOSIS writes in response to the script prepared by the teacher. As in the ordinary tutoring environment, the student's path through the material can be guided in various and subtle ways, e.g., by routing students having difficulty to supplementary material. The program qua tutor can also react in helpful ways to a variety of anticipated false responses to questions, e.g., by giving appropriate diagnostic commentary or hints, followed by a repetition of the wrongly answered question. Although unanticipated responses can be saved for inclusion in teacher reports (along with statistics on individual student performance), the data which are generated exist for the sake of improving the lesson pedagogically. This is in keeping with the general design philosophy that GNOSIS should be a TEACHING system rather than a TESTING system. GNOSIS is a general-purpose test-and-branch system for Computer Assisted Instruction. The teacher prepares a lesson or "script" containing short texts and questions. This lesson is input --------------- 2. See below, section 3.2. Of course, GNOSIS also recognizes many advanced commands which will be valued by the sophisticated CAI author. GNOSIS.DOC Page 12 BASIC CHARACTERISTICS OF GNOSIS to the computer and translated by the GNOSIS into the ALGOL language. The ALGOL compiler will then translate the lesson into executable machine code and, after that, the lesson can be run by the student. Because GNOSIS lessons are ultimately compiled en bloc and because the compiler which does the final translation generates highly efficient machine code, the CPU time consumed by students using GNOSIS lessons will be dramaticly less than for those using interpretative systems like SCHOLAR-TEACH. Compared to SCHOLAR-TEACH, its principal competitor on DEC hardware, GNOSIS has the following additional facilities: 1. Use of highly mnemonic and natural English command words (e.g., "QUESTION" to output a question, "TEXT" to output a text block); this makes writing lessons in GNOSIS as simple as writing a script for a programmed textbook. 2. Availability of both upper and lower case characters to improve readability and provide emphasis. 3. Automatic (defeasible) vertical segmenting of display so that the "scrolling effect" will not disadvantage students working at a CRT. 4. Automatic (defeasible) right justification of display with a "ragged right" at column 72. 5. Automatic (defeasible) generation of teacher reports which, instead of containing all manner of irrelevant information, store precisely the data necessary to make improvements in the lesson design. 6. Automatic (defeasible) simulation of a response the program would have considered correct if the student fails on repeated attempts to supply an acceptable response. 7. Automatic (defeasible) collection of student comments on the lesson, whether the comments are brief or voluminous. 8. Automatic (defeasible) use of the student's first name in commenting and feedback routines. 9. Capability (defeasible) for student to back up or skip ahead to an arbitrary point in the lesson. GNOSIS.DOC Page 13 BASIC CHARACTERISTICS OF GNOSIS 10. Availability of a large number (13) of pre-defined branching conditions, far more than exist in any other CAI language. 11. Convenient access of the full facilities of ALGOL whenever they are desired. 12. Convenient access to external FORTRAN procedures via ALGOL. 13. Automatic (defeasible), context-sensitive dispensing of hints. 14. Efficient entry and storage of global help texts. 15. Six times faster lesson execution than with CAI languages requiring an interpreter (e.g., SCHOLAR-TEACH). 16. Automatic (defeasible) use of the bell to prompt student. 17. Absolute control of how branching is effected at run-time (can be entirely teacher controlled, entirely student controlled, or any mixture of the two). 18. Automatic (defeasible) transfer to another lesson. 19. Availability of multiple-choice question-and-answer strategies which require the student to pick two or more of the presented alternatives but do not necessarily penalize him for a partially wrong response. 20. Automatic generation of positive and negative feedback, suitably individualized according to context. As the GNOSIS author becomes more sophisticated in his needs and aspirations, there will come a time when he will "turn programmer" and begin to write brief ALGOL segments into his lesson script. GNOSIS supports this transition, but does not force it. Because of this, more study may be required in order to take full advantage of GNOSIS than would be required for, say, SCHOLAR-TEACH. But the important thing is that these easy-to-acquire programming skills will give the author better, more flexible, and more extensible facilities once he has mastered them. In fact, through ALGOL, GNOSIS gives him access to all the facilities of a powerful, high-level programming language. No other CAI author language provides such an opportunity. GNOSIS.DOC Page 14 BASIC CHARACTERISTICS OF GNOSIS The principal disadvantage of GNOSIS is that the ready-to-run lesson (.SAV file) is large compared to the script which generated it -- about five times larger on the average. While regrettable, this situation is wholly consistent with a design philosophy which calls for sacrificing storage efficiency whenever that would improve runtime efficiency. It is part of the cost of avoiding interpretive execution. GNOSIS.DOC Page 15 THE GNOSIS COMMAND LANGUAGE * 3.0 THE GNOSIS COMMAND LANGUAGE The GNOSIS language consists of approximately forty simple commands which are used in conjunction with texts, questions, canned answers, hints, and comments. All GNOSIS commands begin with a reserved symbol, usually "%",[3] in the first column (extreme left margin) of a line. Only the first three letters of the command are significant, so one may freely abbreviate "%QUESTION" to "%QUE", etc. 3.1 A Simple GNOSIS Lesson Even if you have no experience in computer programming, you will have little difficulty understanding the following simple GNOSIS lesson. In fact, such lessons have more in common with theater scripts than with any programming language you have ever heard of. Roughly, in the lines following %TEXT or %QUESTION, the teacher is speaking to the student; in the word or phrase immediately following %RIGHT or %WRONG, the student is responding to the teacher; and, in the lines following %RIGHT and %WRONG, the teacher is reacting to the student's response. --------------------- A SIMPLE LESSON --------------------- %TEACHER Dr. Walter Maner %DISK COMMENT: "%DISK" causes the lesson to generate reports for the teacher. See section 3.3 for a full description of this command. %NAME --------------- 3. The "!" cannot be used since it is a comment marker. (This implies that the first line cannot be a comment.) However, any other symbol can be chosen. GNOSIS.DOC Page 16 THE GNOSIS COMMAND LANGUAGE COMMENT: "%NAME" causes the lesson to ask the student to enter his name. See section 3.3. for a full description of this command. %TEXT This lesson contains some riddles. Put on your thinking cap and try to answer them. %QUESTION What was the President's name in 1951? %RIGHT Jimmy Of course, Jimmy Carter was not President in 1951, but the name of our President (i.e., Jimmy Carter) was "Jimmy" back in 1951. (He didn't change his name.) %RIGHT Carter %SAME COMMENT: The %SAME command is explained in section 3.3. Basically, it enables a single teacher reaction to be paired with several different student responses. Here, the dialogue appearing after "%RIGHT Jimmy" will be delivered to the student if his response contains either "Jimmy", "Carter", or "James". %RIGHT James %SAME %WRONG Harry Harry Truman was the President in 1951, but I didn't ask you who was President. I asked you what our President's NAME was in 1951. Do you see the difference? %WRONG Truman %SAME %WRONG Hint: His initials are J.C. %WRONG Another Hint: What is our President's name now? Has it changed since 1951? %QUESTION How many three-cent postage stamps in a dozen? %RIGHT 12 A dozen is still a dozen. It doesn't matter what makes up the dozen. %RIGHT twelve %SAME %WRONG 4 You divided 3 into 12. That gives 4, but you outsmarted yourself! Really, now, how could there be only 4 stamps in a dozen? Where did you go to school? %WRONG four %SAME %WRONG It takes twelve objects to make a dozen, doesn't it? Does it matter whether the objects are three-cent stamps, eggs, or what-have-you? GNOSIS.DOC Page 17 THE GNOSIS COMMAND LANGUAGE %END --------------------------- END ---------------------------- As you can see, the formula for writing a GNOSIS lesson is simple indeed: 1. Display text to the student with %TEXT commands. 2. Ask questions with %QUESTION commands. 3. React to right answers with %RIGHT commands. 4. React to wrong answers with %WRONG commands. Most GNOSIS lessons will deviate very little from this paradigm. An actual terminal session (see below) would follow the lesson script (see above) faithfully but not blindly. At every point, GNOSIS would be making judgments about the student, the lesson environment, and other relevant factors in order to generate intelligent comments and displays. Note especially how GNOSIS would manage the interaction between the computer and the student, e.g., by providing feedback appropriate to the context. In certain situations, the student would be recycled through the question; in others, GNOSIS would realize that the student is guessing wildly, that the program is no longer providing useful diagnostic help, and would determine that the best approach under the circumstances would be to simulate a correct answer. The student's first name would be used occasionally to personalize dialogue -- often enough but not too often. Here, then, is an actual terminal session based on the simple lesson script given above: ------------------ ACTUAL TERMINAL SESSION ----------------- Hello! This is GNOSIS talking. I'd like to know your full name-- just type it in after the arrow. (Unless you enter a made-up name, GNOSIS will generate personal data based on this session.) -->Walter Maner Glad to meet you, WALTER! Welcome to the lesson 'RIDDLE'. This lesson was produced by the GNOSIS system for computer GNOSIS.DOC Page 18 THE GNOSIS COMMAND LANGUAGE aided instruction (CAI) from the Research Institute of National Defense, Stockholm, Sweden, and the Old Dominion University Research Foundation. The author of this lesson is... Dr. Walter Maner IMPORTANT: You can interrupt the lesson at any time by typing the single character "%" on your terminal and then pushing the RETURN button. GNOSIS will then explain how you can type (1) 'STOP' to end the lesson immediately; (2) 'SKIP' to move on to the next question; or (3) 'BACK' to return to the previous question. Push RETURN --> This lesson contains some riddles. Put on your thinking cap and try to answer them. Push RETURN --> What was the President's name in 1951? -->Harry Truman Wrong! Harry Truman was the President in 1951, but I didn't ask you who was President. I asked you what our President's NAME was in 1951. Do you see the difference? Please try again. What was the President's name in 1951? -->Lyndon Johnson No, you're wrong this time, WALTER. Another Hint: What is our President's name now? Has it changed since 1951? Please try again. What was the President's name in 1951? -->James Earl Carter Exactly right, WALTER! There is hope for you after all! JAMES EARL CARTER ^^^^^^ COMMENT: In certain ambiguous contexts, GNOSIS will flag the word or words it took to be significant in the student's response. Of course, Jimmy Carter was not President in 1951, but the name of our President (i.e., Jimmy Carter) was "Jimmy" back GNOSIS.DOC Page 19 THE GNOSIS COMMAND LANGUAGE in 1951. (He didn't change his name.) Push RETURN --> How many three-cent postage stamps in a dozen? -->four No, you're wrong this time. You divided 3 into 12. That gives 4, but you outsmarted yourself! Really, now, how could there be only 4 stamps in a dozen? Where did you go to school? Please try again. How many three-cent postage stamps in a dozen? -->three Sorry. Just for the record, GNOSIS will simulate an acceptable answer: -->12 Very good. A dozen is still a dozen. It doesn't matter what makes up the dozen. Push RETURN --> During the lesson "RIDDLE" you answered 2 questions, and you gave the right answer 1 times. On 0 questions your answer was right on your very first try. If you have any message for the teacher, then type it now, one line at a time. Finish with an EXTRA push on the RETURN key. -->This was a silly lesson. --> Leaving the lesson "RIDDLE"... Have a nice day, WALTER! --------------------------- END ---------------------------- 3.2 Advice For Beginners Beginners should note that, while there is a fairly large number of GNOSIS commands, a very powerful lesson can be written using only TEN of these: %TEXT, %QUESTION, %RIGHT, %WRONG, %NOEXTRA, %EXTRA, %NOORDER, %ORDER, %GOTO, and %END. Learn how to use these basic commands first GNOSIS.DOC Page 20 THE GNOSIS COMMAND LANGUAGE before you advance to more sophisticated devices. As a novice, you should also take note of the fact that it is NOT necessary to know how to program in ALGOL in order to write GNOSIS programs. In fact, you can ignore everything said in this manual about ALGOL "code" and ALGOL "segments" until you are ready to extend your abilities in this direction. In the normal case, the ALGOL coding would be done by the Academic Support Service of your computer center anyway. When you have mastered the ten basic commands, study the demonstration program "HOW.GNO" provided in an appendix. Try to imagine what "HOW" will do when it is run. Then "R HOW" and, as "HOW" runs, try to discover in the "HOW.GNO" script the lines which are producing the effects you see. Compare these effects with the documentation provided in this manual. Since GNOSIS commands cannot appear in an arbitrary order, beginners are also encouraged to make faithful use of the "Precedence Table for GNOSIS Commands" (section 5.0, below). In addition, the discussion "Writing GNOSIS Lessons" (section 8,, below) should be helpful. (In a later release, a series of GNOSIS lessons which themselves teach GNOSIS will be available.) 3.3 Alphabetical List Of GNOSIS Commands Note: The character "|" is used to separate items of a set from which one, and only one, member can be chosen. The characters "[" and "]" are used to enclose an item which may be present or absent. The characters "<" and ">" are used to enclose non-literal elements, i.e., elements which would have to be REPLACED by a literal before the code would be valid. Of course, "" is to be replaced by a null literal, namely, nothing. Items not enclosed by these left and right carats are literals, hence can be put in the GNOSIS script just as they appear. 1. %ALGOL ; This command causes one or more lines of ALGOL code to be transferred unchanged to the ALGOL translation of the teacher's script. The segment must be legal in ALGOL and, in addition, must mesh with the GNOSIS lesson at the point of insertion. 2. %BELL Causes the bell to be rung at the student's terminal whenever the computer is awaiting input from him. Useful in noisy environments and with first-time computer users. GNOSIS.DOC Page 21 THE GNOSIS COMMAND LANGUAGE 3. %COPYRIGHT If this command is used then, each time the lesson is run, a copyright notice will be output as part of the lesson header. This copyright applies only to the lesson itself, of course -- not to the GNOSIS software. 4. %DISK Causes teacher reports to be created at lesson runtime, then routed to preexisting disk files named .DTA and .SRT. The .DTA file contains a page of data for each run of the lesson. These data include the student's name, a trace of his unexpected responses, lesson statistics, and any message he may have left for the teacher. The .SRT file contains only the "unexpected response" traces, converted to a format suitable for sorting. Unless the %DISK (or %DISC or %DSK) command is used, then teacher reports (if any) will be routed to the lineprinter and no machine readable records will remain. The reports queued to the lineprinter are equivalent to those which would have been contained in the .DTA file except that each page is printed as a separate item. Without the %DISK command, no .SRT file is generated. When using the %DISK command, care must be taken to ensure that the blank files .DTA and .SRT have been created IN THE ACCOUNT WHERE THE LESSON WILL BE RUN. They must exist there before the lesson is used for the first time. Otherwise a mysterious error message will be sent to the student by ALGDDT as he tries to exit from the lesson. A protection of <155> should be given to these report files. This isn't adequate for all purposes, of course, but it is a workable compromise for the teacher who wishes to inspect, print or copy-and-sort these records from another account. The %DISK command executes implicit %TEACHER and %KEEP commands. Thus, an explicit %TEACHER command will be required only if it is necessary to add the teacher's name and address. Technical Note: Unless %NAME is used in conjunction with %DISK, only one student at a time may use a report-generating lesson. When the %NAME GNOSIS.DOC Page 22 THE GNOSIS COMMAND LANGUAGE command is used, however, temporary .DTA and .SRT files (based on his first name) are opened at runtime. Writing to these files (until the very end of the lesson) usually avoids any conflict-of-access problems connected with writing the main .DTA and .SRT files. 5. %END This is -- MUST be -- the last command of a lesson. Any text after this command will be ignored by GNOSIS. 6. %EXTRA This command will influence the way in which student responses are compared to canned answer patterns. After a %EXTRA command, and until the next %NOEXTRA command, student responses will be considered correct even if they contain extra characters not part of the %RIGHT answer pattern PROVIDED they do at least contain all the essential characters. If the response DOES contain extra characters, then GNOSIS will flag the essential characters with uparrows. GNOSIS is initialized in %EXTRA mode and will remain in this mode until it encounters the first %NOEXTRA command line. Note that, in %EXTRA mode, the response "yes or no" will be considered a correct response to any "%RIGHT yes" or "%RIGHT no" command! GNOSIS will obligingly flag the "yes" part as correct in one case, the "no" part in the other. 7. %FINISH This command will enable the user to place one or more lines of ALGOL code in the GNOSIS translated lesson immediately before its final "END". (Ordinarily this would be possible only through editing the .ALG file produced by GNOSIS.) "%ALGOL ;" MUST follow the %FINISH command. Note too that %FINISH does NOT terminate the lesson script; a %END is still necessary to close the lesson. 8. %GOTO