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