WO1997044767A1 - Agent based instruction system and method - Google Patents

Agent based instruction system and method Download PDF

Info

Publication number
WO1997044767A1
WO1997044767A1 PCT/US1997/008687 US9708687W WO9744767A1 WO 1997044767 A1 WO1997044767 A1 WO 1997044767A1 US 9708687 W US9708687 W US 9708687W WO 9744767 A1 WO9744767 A1 WO 9744767A1
Authority
WO
WIPO (PCT)
Prior art keywords
student
εaid
materials
agent
information
Prior art date
Application number
PCT/US1997/008687
Other languages
French (fr)
Other versions
WO1997044767A9 (en
Inventor
Donald A. Cook
George Lukas
Andrew V. Lukas
David J. Padwa
Original Assignee
Agent Based Curricula, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/651,422 external-priority patent/US5727950A/en
Application filed by Agent Based Curricula, Inc. filed Critical Agent Based Curricula, Inc.
Priority to AU31383/97A priority Critical patent/AU3138397A/en
Publication of WO1997044767A1 publication Critical patent/WO1997044767A1/en
Publication of WO1997044767A9 publication Critical patent/WO1997044767A9/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/065Combinations of audio and video presentations, e.g. videotapes, videodiscs, television systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/06Foreign languages
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/08Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations
    • G09B5/14Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations with provision for individual teacher-student communication
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
    • G09B7/04Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student characterised by modifying the teaching programme in response to a wrong answer, e.g. repeating the question, supplying a further explanation

Definitions

  • This invention relates to a system and method for interactive, adaptive, and individualized computer-assisted instruction of students, preferably implemented on network connected computers. More particularly the system and method includes for each student an agent adapted to that student
  • the viewable on ⁇ screen aspect of the agent includes customizable multimedia
  • CAI the computer acts as a teaching machine.
  • a program presents instructional displays, accepts student responses, edits and judges those responses, branches on the basis of student responses, gives feedback to the student, and records and stores the student's progress.
  • Examples of CAI systems include those of Carbonell, 1970, Al in CAI, an artificial intelligence approach to computer- assisted instruction, IEEE Transactions on Man -machine Systems, 11:190-202; Osin, 1984, CAI on a national scale, Proc . 4 th Jerusalem Conf . on Information Technology, pp 418- 424; Seidel 1971; Koffman et al. , 1975, Artificial intelligence and artificial programming in CAI, Artifi cial Intelligence 6.:215-234.
  • Effective CAI instructional materials for a limited number of specific topics have been developed, as have special "authoring languages," which assist instructional developers on the tasks of designing instructional materials.
  • U.S. Patent No. 5,310,349 is exemplary of such CAI systems.
  • CAI systems do not adapt to their students. These systems merely sequence students through educational materials, based only on student performance during a current lesson and using only parameters such as recent responses and pre-requisite patterns. These systems do not gather or use information on more comprehensive student characteristics, such as past student performance, student performance on other courses, student learning styles, and student interests.
  • CAI systems do not recognize characteristics of their individual students. They cannot be individualized or made responsive to their students styles. Thereby, these system ignore those roles of a human tutor that can be of unparalleled significance in the education of an individual.
  • the human tutor assists in scheduling and prioritizing and in maintaining interest through proper reinforcement and knowledge of student abilities and preferences.
  • a human tutor observes and addresses patterns of errors and maintains a consistent manner of interaction across a broad range of subject matters and activities.
  • a human tutor effectively integrates the cognitive, personal and social aspects of the instructional situation. In other words the human tutor provides a level of individualization based on student styles and on requirements of the instructional task.
  • the human tutor provides an equally effective interaction with the teacher by accepting individualized instructions, collecting data and providing detailed reports.
  • the integrated learning system is a dedicated installation that is used in schools to teach basic strands of reading, mathematics and related topics, spelling, writing, and other language arts, from grades one to six, or perhaps to eight or nine (EPIE, 1990, In tegra ted
  • agents can operate in the client, the server, or both.
  • adaptive and personalized agent based systems have begun to be developed.
  • Systems with adaptive agents agents which learn from experience, has made gains with new techniques continually identified.
  • Adaptive agents have permitted new commercially viable adaptive systems implemented across networks.
  • an agent is a "go-between, " mediating relations in a manner whose function is understood with details being left to the agent itself.
  • the agent acts as a "stand-in” for its user, who is thus freed from direct manipulation of the network.
  • instructional applications there is an unmet need for an agent who serves two users: the school system and the individual student. This is the well-known role of the teaching assistant/tutor.
  • Agents can learn by a mixture of methods: observation, receiving feedback from its user, receiving instructions from the user, and consulting other agents concerning "similar problems.”
  • Approaches to the creation of agents with personal characteristics have begun to be explored. In this work, relevant techniques are found in the tradition of film animators who, through the portrayal of emotions, gave their characters the illusion of life.
  • Client-server architectures have emerged as the principal architecture of distributed computer systems.
  • Client systems running under sophisticated windowing operating systems, can support advanced object based software applications, including high speed graphics, animation and audio output.
  • Servers can store gigabytes of data and programs at central or distributed locations at quite reasonable cost.
  • Object oriented database systems have been developed to store structured data on servers.
  • Client systems in a striking change from only several years ago, now virtually all have multimedia capabilities, including high quality graphics, sound, and at least limited video playback capability. Text-to-speech software is presently available for use with these systems, and speech recognition software is on brink of widespread commercial acceptability on low cost platforms.
  • New authoring tools support graphical methods for generation of multimedia presentations and computer based instructional materials having corresponding sequencing logic.
  • Clients and servers can be linked remotely with increasing convenience and decreasing cost.
  • the Internet has emerged as a means of providing an inexpensive means of connecting computers to provide effective communications and access to information and other resources such as software. Further Internet developments that made the Internet truly universal include the HTML and the HTTP protocols, which provide platform independent access to hyperlinked multimedia information, and the JavaTM programming language, which provides platform independent software for Internet applications programming. Subsets of the Internet -- intranets -- have become an increasingly important means for disseminating information and enabling communication within constrained domains, such as a single school system or corporate enterprise.
  • ABSI Agent Based Instruction
  • An important object of this invention is to provide the student with a virtual tutor, by having agent software
  • agent adapted to each student that offers a high quality of individualized student interaction and that manages or controls instruction in a manner approximating a real tutor.
  • the agent exercises management or control over the computer- assisted instruction materials and provides information and help to the student, both synchronously and asynchronously to particular instructional materials. Agent behaviors are sensitive to both the educational context and to the history of student behavior.
  • the agent integrates data from several sources. From computer-assisted instructional materials, it accepts data on the methods of instruction adopted by particular materials and on student performance in the instruction. From the student, it accepts direct interactions as well as using the history of previous student performance stored in a student data object. From the teacher, it accepts data on customization and student assignments. From the school, it accepts data on assigned courses, data on analysis of student body performance, and educational standards and criteria. In a preferred embodiment, these inputs allow individualization of agent interaction. Alternative embodiments are responsive to additional data types and sources.
  • diverse agent behaviors are handled uniformly by a single means.
  • the diverse behaviors include encouragement and feedback, providing meta-cognitive help on ongoing instruction, managing or controlling and individualizing computer based instruction to the student's learning modes, and assistance with assignment management .
  • These diverse behaviors are selected from a set of potentially appropriate candidate behaviors. This set of candidate behaviors is ordered and the highest ranked behaviors are chosen.
  • the diverse agent behaviors adapt to the student based on a variety of information about the student.
  • the agent modifies its behavior on the basis of a growing history of interactions with the student over time, as this history of student performance is stored in the student data object.
  • the agent can also modify its behavior on the basis of teacher and school system supplied information.
  • Another important object of this invention is that the agent presents itself on-screen to the student with integrated, and optionally, animated multimedia persona, or preferably a plurality of persona (hereinafter called "personae”) .
  • the on-screen agent can appear as living entities, which in grade school can be comfortable "Study
  • the on-screen agent can be dramatized by a single character or by a cast of interacting characters.
  • the interaction between these actors can be individualized to reflect the pedagogical response of the agent.
  • story lines continuing across materials or session can be used.
  • the voices, gestures and motions of the personae are derived from the chosen behaviors, student personae preferences, and the history of recent behavior by selection from tables containing a rich variety of alternative sound and visual display objects. All elements of the on-screen agent display are then synthesized in an integrated display script calling for graphics, animation, video, or sound as appropriate. These scripts are then bundled into applets, run-time program fragments that represent a complete element of performance. This display is highly configurable by the student, the teacher, or the system administrator.
  • elements of the display objects can be created by artists, animators, singers, and so forth, as data snips.
  • Pluralities of data snips can be stored in libraries of dynamic clip art and then installed in an implementation of this invention. In this manner the on-screen agent personae have an appropriately contemporary, realistic, and engaging manner.
  • Data snips are, in general, short clips of sound, voice, graphics, animation or video, or combinations of these used to construct the on-screen agent.
  • a data snip can also be a complete prefor ⁇ natted animated sequence, perhaps in the format of a talking animated daily cartoon strip.
  • the method and system cf this invention is adapted to implementation on a variety of networks.
  • the interactive, adaptive, and self-paced computer-assisted instruction and homework provided by this invention is available to geographically dispersed students and from geographically dispersed schools.
  • an implementation of this invention as a "Homework NetworkTM" can make computer assisted homework available to students of all levels at home.
  • the student can also access homework materials at computers located in youth centers, libraries, schools and other locations.
  • the network on which this invention is implemented as an intranet configured of appropriate links and utilizing the known TCP/IP protocol suite, and as appropriate, ATM technologies, including World Wide Web, associated browsers, and mail format extensions. Implementation over the public Internet is equally preferred in cases where extensive connectivity is needed.
  • a further important object of this invention is to utilize augmented computer-assisted instruction materials which present to students a variety of interactive, adaptive, and self-paced computer-assisted instruction and homework materials in a manner which informs the agent of a student's progress and performance and which permits the agent to manage or control the materials to the student's pedagogic characteristics. Thereby, the ABI system can effectively guide and engage students in their educational tasks.
  • these instructional and homework materials are composed of materials data presented by a materials engine.
  • the materials data includes display objects containing the substance of the instruction, logic to sequence the display according to student input, and notations.
  • Notations are augmented definitions that serve to pass information to the agent concerning the materials and the student. For example, notations classify key sections of materials which are educationally significant student actions.
  • authoring tools assist in developing these augmented instructional materials.
  • Materials tasks and sequences are created and entered by instructional designers and subject experts. Notations are usually entered by instructional designers and can be customized by teachers.
  • the information passed in the notations is standardized according to an instruction materials interface standard.
  • This standard establishes a uniform way the materials independent data relating to student performance are to be provided to the agent and a uniform way for the agent to guide the student in a materials independent manner.
  • a further important object of this invention is to provide to the student a range of tools which are integrated with the agent in a manner similar to the instructional materials. These tools include general tools helpful to assigned instructional tasks, and special tools for group work and communication and for student scheduling.
  • the general tools include at least a calculator, an encyclopedia, a dictionary, a thesaurus, each appropriate to the several levels of students, which can access an ABI implementation.
  • the group work and communication materials allow, when permitted, message exchange, student linking into groups for joint work, and student linking into groups for structured work such as contests.
  • the student scheduling tool records assigned student activities and their priorities. In an embodiment, this tool can be consulted by the student to view schedules. It can be consulted by the system to prescriptively schedule required activities, to permit student choice, or to permit a mixed scheduling initiative. Finally, it can be consulted by the agent to offer scheduling advice to the student. Typically, student assignments are set by a teacher.
  • An object of this invention is reporting of student performance to students, teachers, parents, administration, or to other appropriate individuals in a business enterprise or other commercial versions. These reports include the unique data on the student's pedagogic performance accumulated and analyzed by the agent, as well as all the usuc.l and expected performance data on specific materials available in existing computer-assisted instruction systems. In a preferred embodiment this data is derived from the student data object, where all permanent student data is stored. These data objects are preferably stored in an object oriented database system against which are run reports of this data. It is an advantage of this invention in a school context that parents can have access to current data on their children, and thereby play a more informed role in their children's education.
  • NCs are low cost computers specifically designed to access intranets or the public Internet.
  • this invention is adaptable to multimedia PCs for some students, and to such special interaction technologies as can be advantageous to special students or students with special needs.
  • Typical interactive devices include keyboards, mice or other pointing devices, voice recognition, joy-sticks, touch activated devices, light-pens, and so forth.
  • Other devices, such as virtual reality devices, can be added as they become commercialized.
  • Fig. 1 illustrates in overview fashion the principal functional components of and parties in the ABI system
  • Figs . 2A and 2B illustrate in overview fashion an implementation of the functional components of Fig. 1
  • Fig. 3 illustrates an exemplary student display screen of the implementation of Fig. 2;
  • Fig. 4 illustrates in more detail exemplary screen interaction between the on-screen agent and the instructional materials of the implementation of Fig. 2;
  • Fig. 5 illustrates an exemplary interaction of a student with the ABI system implementation of Fig. 2 ,-
  • Fig. 6 illustrates in more detail the software components and hierarchy in the implementation of Fig. 2
  • Fig. 7 illustrates exemplary message flow through the implementation of Fig. 2;
  • Fig. 8 illustrates agent action processing of Fig. 7 in more detail ;
  • Fig. 9 illustrates agent behavior processing of Fig. 7 in more detail
  • Figs. 10A and 10B illustrate the structure of student data object of Fig. 7 in more detail
  • Fig. 11 illustrates exemplary processing of the student data object of Fig. 7 ;
  • Fig. 12 illustates an exemplary sequence of student metarequests and agent metare ⁇ ponses .
  • Sec. 5.1 presents a general overview of the Agent Based Instruction system.
  • Sec. 5.2 describes the preferred hardware and operating software configurations.
  • Sec. 5.3 describes details of the instructional interface between the ABI system and its users.
  • Sec. 5.4 describes in a general fashion the software structure of the ABI system with subsequent sections describing each component in a more detailed fashion.
  • Sac. 5.5 describes the instructional materials and the tools in a more detailed fashion and
  • Sec. 5.6 describes the agent in a more detailed fashion.
  • Sec 5.6 includes detailed description of the preferred interface between the agent and the materials in the ABI system.
  • this invention is described in the context of a school system, with examples drawn primarily from elementary education. This invention is not so limited. It will be apparent to one of skill in the relevant arts that this invention can be applied at all levels of public and private education, from pre-school through university, and to all forms of commercial or corporate education. In all these contexts, this invention has particular utility in making education and training available at school, at the office, at home, at schools with geographically dispersed students and to students at geographically dispersed schools, and at other types of locations. Further, it will be apparent that this invention can be applied in contexts other than education where monitored interactivity and individualization are to be provided, as in child care or weight loss.
  • Agent agent software together with the data it references executing in an ABI system.
  • ABSI Agent Based Instruction
  • Agent Software software modules that generate responsive, adaptive, and individualized behavior in the ABI system, preferably implemented according to methods from artificial intelligence.
  • Applet an executable program fragment advantageously downloaded to a client across the network, in the ABI system applets are particularly used to represent a complete element of on-screen agent actions, or performance, ( e . g. , a character scratching its head and saying an utterance) and can reference various data snips of animation, sound, and scripting information.
  • Authoring Tools programs used by instructional designers to develop materials data, such development includes inserting notations.
  • Cast a plurality of persona ("personae") representing the on-screen agent.
  • Character an individual persona in the cast of the on ⁇ screen agent .
  • Concept Coach a possible alternative name for a persona in the cast of an on-screen agent that is suitable for high school and adult students.
  • Data Snip an elementary piece of sound, voice, animation, video, or a graphic,- data snips can be combined, preferably by an applet, to represent a complete element of on-screen agent action.
  • ELF Electronic Learning Friend
  • Instructional Materials the components of a course of instruction, such components are selected according to the course and can include prerequisite tests, pre ⁇ tests, lessons, and unit tests.
  • Materials Data the content of instructional materials.
  • Materials Engine software modules that reference instructional materials data and tools data to present the instruction and the tools to the student.
  • Meta-request a student request directly to the on-screen agent, an exemplary request is 'asking for a hint.
  • Meta-response all responses to a student produced by the agent software, as distinguished from presentations by instructional materials, tools and communications.
  • Network the hardware and software connecting student client computers to school servers in an ABI system,- the network connections can comprise fiber optic links, wired links, or terrestrial or satellite wireless links.
  • interface information inserted into materials data that causes the materials engine to send and receive messages from the agent software create standardized interface messages between the agent and the materials .
  • On-screen Agent presentation by the agent software on the student's display using such media as sound, voice, graphics, animation, video, or other multimedia modality; this presentation preferably displays one or more life-like personae.
  • Persona a character in the cast of an on-screen agent.
  • Personae the collective plural of persona.
  • Student Data Object data about each student which the agent software references in order to provide responsive, adaptive, and individualized instruction to that student; this data is updated during course of each lesson and is advantageously stored as one object, or alternatively a few linked objects, in the ABI system.
  • Study BuddiesTM a possible alternative name for personae in the cast of an on-screen agent that is suitable for elementary school students.
  • Tools Data the content of tools supporting particular instructional materials,- tools can include a dictionary a calculator, or an encyclopedia,- and so forth, and tools data are the content of the dictionary, the calculator, or the encyclopedia.
  • Utterance a text or voiced response by on-screen agent.
  • Virtual Tutor the ABI system components acting together to emulate a human tutor,- from an individual student's perspective, the Study BuddiesTM, ELF, or Concept Coach appears as his or her personal tutor.
  • Fig. 1 illustrates the principal actors and the principal functional components in an ABI System. These include, generally, materials engine 102, agent software 108, and student data object 109, all of which interact with student 101 and with teachers and administrators 106 via a computer network described below in conjunction with Fig. 2 to create a virtual tutor of student 101.
  • Student 101 is typically one of many students enrolled in a school or similar institution.
  • the virtual tutor Central to the ABI System is the virtual tutor individualized to each student, which formed by the functioning of agent software 108 with student data object 109, which stores characteristics of student 101 and assignments and standards set by teachers and administrators 106.
  • Other actors not shown in Fig. 1 can be relevant in particular applications, for example, parents in the case of primary and secondary education.
  • Materials engine 102 presents educational content such as instructional units, homework assignments, and testing to student 101.
  • the educational content includes instructional materials data 114, communications materials data 104, and tools data 115.
  • instructional materials data 114 include computer based instructional materials similar to those known in the art but, importantly, augmented with notations for use in this invention.
  • the materials also include various tools 115 appropriate to particular instructional materials, such as a calculator for mathematics, a dictionary for writing, access to on-line reference sources for research, and so forth.
  • materials can also include communication materials data 104, which define and provide communication with other students 105 for instructional purposes . Such purposes can provide, for example, the tutoring of one student by another more advanced student, joint work of several students on one instructional materials lesson as permitted, and educational contests, such as spelling bees.
  • this invention is equally adaptable to other forms of materials that function in the framework of Fig. 1, in particular interfacing to the agent software as indicated by arrow 111, and that are useful in a particular application of this invention.
  • materials appropriate for child care contexts can differ from the above three classes by, perhaps, having different paradigms of interactivity.
  • the structure and course of interactions 103 between the student and the materials is preferably governed by paradigms of educational psychology and sound educational practice, such as are described in the exemplary reference Englemann et al . , 1982, Theory of instruction: principles and applications, New York: Irvington Publisher.
  • student 101 can make requests and receives responses from materials engine 102 and, in turn, materials engine 102 can make requests and receive responses from student 101.
  • the " materials engine can adjust its sequence of presentation in response to student responses.
  • the requests and responses exchanged between the student and the materials engine can follow several patterns known in the arts of computer based instruction and which, for example, include the following.
  • the student can respond to questions presented by the materials engine, and in the course of responding, can ask for advice or hints, the use of a tool such as a calculator, or other relevant assistance.
  • the student can advance to the next item, lesson, or unit upon successful completion of the present item, lesson, or unit.
  • the student in case of error, can request, or automatically be presented with, appropriate repeat, review, or remediation materials.
  • these patterns of interactions can be analyzed to provide more adaptive responses from the system.
  • Teachers and administrators 106 also interact with materials engine 102 for several purposes, as represented by arrow 107.
  • teachers can customize existing materials by adding additional items, modifying existing items, altering the order of item presentation, changing the notations (see infra . ) governing agent interaction, and so forth.
  • a teacher can create particular instances of materials suitable for one class, a group, or even one student.
  • the materials engine can directly report student progress to teachers and administrators. For example, this can be done by entering notations that generate messages for the teachers .
  • instructional designers can create, or "author, " materials for use in this invention. Such materials can be original or can be derived from existing textbooks, workbooks or media material.
  • Authoring instructional materials in a course suitable for interactive instruction typically comprises several steps, including decisions about the objects to display to the student, the sequencing of these objects, and the interactions with the agent.
  • the first step is the selection of objects which carry the education content for presentation to a student.
  • Objects can include visual display items, such as text, graphics, animation or movies, audible display items, such as voice, audio and so forth.
  • They can include input items known in the computer arts, such as buttons to select, selections to chose from, text to enter, hypertext and hypermedia links, functions to perform with student input, and so forth.
  • the second step is the selection of the sequencing logic for the ordered display of the objects to the student and the educationally appropriate reaction to student requests and responses .
  • the sequencing logic can reference instructional controls set by agent software 108, such as a command to increase example density, and preferably is chosen in light of principles of educational psychology and practice as detailed above.
  • the third step is the specification of interactions with a student's agent or virtual tutor, a key component of the ABI system. This specification is made by augmenting the sequencing logic with "notations,” which are referenced, called, or executed by the sequencing logic during object presentation and that communicate with the agent, in a preferred embodiment by exchanging messages .
  • the agent builds an adaptive model of its student's pedagogic characteristics, in other words the student's cognitive styles, by monitoring the course of the student's interactive instruction.
  • the notations are the means for this monitoring.
  • the authored materials are indexed and stored in the files of the ABI system, preferably on materials server systems .
  • ABI authoring tools differ from authoring conventional instructional materials in that notations are present in these materials to enable the agent software to update the student data object, to monitor and modify the instruction, student's use of a tool, or a communication task.
  • ABI authoring tools support and facilitate the conversion of existing materials to the ABI instructional format.
  • agent software 108 is comprised of agent software 108 in conjunction with a student data object 109 unique to each student.
  • agent software monitors its student's instruction, it builds an adaptive model of its student in student data object 109.
  • agent software 108 acts, first, to manage or control the student's instruction, and second, to directly guide the student in order that the total ABI system can present education to each student in an optimal fashion best adapted to the student's evolving abilities, skills, and preferences.
  • the agent becomes a virtual tutor by acting as a student's personal and individualized tutor.
  • the agent manages or controls instruction of student 101 by directly controlling materials engine 102 in its presentation of materials data 104, 114, and 115 through interaction with the materials engine, as represented by arrow 111.
  • the agent preferably manages or controls the materials engine in two manners, synchronous with materials data presentation, such as when the materials engine encounters an appropriate notation in the data, makes an agent request, and waits for an agent response, and asynchronous with the presentation, such as when the agent software adjusts control parameters which the materials engine references at decision points.
  • Examples of synchronous control are an ' instructional material asking the agent for permission to allow the student to use a tool, to receive a hint, or to be given remediation, or a communications material asking the agent for permission to permit the student to engage in a particular type of communication with certain other students.
  • An example of asynchronous control is the agent setting of pedagogic parameters, such as coaching parameters that the materials engine uses to adjust its presentation, according to the pedagogic characteristics of the student.
  • Exemplary coaching parameters include the time pacing of exercises, the new concept seeding rate and the density of examples.
  • the materials can present interactive instruction according to optimal values of the pedagogic characteristics or cognitive styles of each student as determined from the agent's observation of its student.
  • agent software 108 directly guides the student by exchanging communication with the student, as represented by arrow 112.
  • Student communication also preferably occurs in two manners, synchronously, in which the student directly makes meta-requests of the agent tutor and receives meta- responses and second, asynchronously, in which the agent tutor itself generates a meta-response in response to some instructional event.
  • requests and responses are prefixed with "meta" when they are exchanged directly with the agent.
  • Meta-requests include student questions to the agent - for example: How am I doing? What should I do next? Can you say that another way? - or student requests - for example: I need a hint,- I need help. The agent responds to each student question or request.
  • Agent meta-response ⁇ can be generated, for example, when the student takes too long to complete an exercise, when the student makes a series of repeated errors, or when the student achieves good performance. Agent meta-responses can be drawn from such categories as reminders, encouragements, reinforcements, paraphrases, jokes, progress summaries, and so forth. Communication with the agent, represented by arrow 112, include direct student meta-requests that generate agent meta-responses . Other communications derive from instructional event messages generated and communicated by augmented notations in materials 104, 114, and 115. An event received by the agent can generate no meta-response at all or alternatively can generate an asynchronous type agent meta- response.
  • the materials sequencing logic presents display objects to the student and receives inputs from the student
  • the materials data author places one or more notations.
  • these notation are referenced, called, or executed, important variables and parameters educationally relevant at this significant point are gathered into a message, along with an indication of the type of the educational event.
  • These messages are events which are then sent to the agent.
  • an educationally significant point is the beginning of a new instructional sequence.
  • the corresponding event message can include an indication of the topic to be covered, the expected level of difficulty, the expected time to complete, and the educational paradigm adopted.
  • Another educationally significant point is the receipt of a wrong answer.
  • the materials can generate several messages: a first message can include the time required to make the answer, an indication of the type of error, and an indication of whether the answer is completely wrong or only a near miss,- a second message can include text parameters ("say-it” type message) if the agent chooses to make a specific text or spoken comment about the error,- finally, a third message can include the screen location best representing the error ("point-it" type message) to use if the on-screen agent chooses to point to the error or move to the location of the error.
  • Another educationally significant point can be a long delay in receiving the next student input, at which point the materials engine can send an asynchronous message indicating the time elapsed.
  • Tools data 115 generate events similar to messages from instructional materials.
  • Communications materials 104 can generate events recording a communication request or an initiation of communication with certain other students for a certain task.
  • communications materials can generate events recording how this student in progressing with the shared materials,- in the case of a contest such as a spelling bee, events recording how this student is progressing in the contest with respect to other contestants .
  • agent software 108 also receives messages describing the progress of the student through specific instructional materials.
  • messages can include information that the student is making errors in problems requiring finding common denominators .
  • event message should preferably all information that can be of interest to teachers and administrators for tracking student progress and tracking course adequacy.
  • Agent communication preferably utilizes all the modalities of input and output available in a particular implementation of this invention, including text, audio displays such as voice and sound, and video displays such as graphics, animation, and realistic movie clips.
  • the agent can select the display of sound and video clips, from a data snips library, that the student finds pleasing.
  • the agent can further make reward graphics available on the student's screen for a period of time.
  • the agent can point to the screen location of the error.
  • the on-screen agent can assume various display personae during student communication.
  • persona means the effect conveyed to the student of the combined and coherent presentation of multiple display modalities to emulate a particular, apparently living, personality. For example, in the case of elementary education, this can be the selection of tone and animation to emulate a pleasant animal or a known cartoon character.
  • characteristics of the display persona can be selectable by the student according to the student's preferences.
  • the personae can be specified by the instructional materials, the teacher or the administrator overriding student persona preferences.
  • Personae for an elementary school student can be selected from well-known cartoon characters and can perhaps be called “Study BuddiesTM.”
  • Persona for commercial or corporate education can be adapted to the organizational ethos and can perhaps be called a "Concept Coach.”
  • Presentations for intermediate levels can be called an Electronic Learning Friend (“ELF”) .
  • ELF Electronic Learning Friend
  • the ABI system through its network, software and database acts as the student's virtual tutor, from the elementary school students point of view, the "Study BuddiesTM" are his/her personal tutor. Realism in voice, gestures and movement reinforce this relationship.
  • Agent software 108 in the ABI system builds an adapting pedagogic or cognitive model of its student in student data object 109 that is independent of the specific materials.
  • Event messages to the agent software from the materials engine preferably include the information from which this model is built. In general, event messages must include such content as is necessary to describe and parametrize the pedagogic or cognitive style models adopted by the materials in an implementation of the ABI system.
  • the student data object 109 collects all the permanent data about the student maintained by the ABI system.
  • the data objects for all the students are collected for permanent storage in a database system.
  • this is an object oriented database, although this data can be advantageously stored in standard relational databases.
  • the various subtypes of student data in the student data object can be separated into separate objects and stored in separate databases.
  • the materials specific progress data separately from the materials independent global student data.
  • the student data object is stored as one structured object.
  • it can be stored as a plurality of objects, each object of the plurality perhaps storing only one subtype of data.
  • the student data objects are accessed not only by the agent software 108, but also by teachers and administrators 106.
  • the data object is referenced by the agent in order to generate its actions and is updated by the agent as it processes events and student meta- requests.
  • the data object is referenced by teachers and administrators in order to track the student progress and to generate reports concerning the students and materials in the ABI system. Teachers also update the data object to enter schedule information for the student's assignments. Administrators update the object in order to enter the courses and materials the student must master and specify standards and criteria the student must meet .
  • FIGs. 2A and 2B illustrate an exemplary preferred structure implementing the principal conceptual and functional components of the ABI system as illustrated in Fig. 1.
  • a preferred implementation of this invention is based on a plurality of computers interconnected by a network.
  • certain computers are specialized for certain functions, such as student client systems for providing student access or system servers for storing system software resources. Therefore, an exemplary preferred ABI system includes one or more student client systems 201, at which student 202 receives instructional presentations including homework. Other student clients are generally indicated at 203 and can be located at school, at home, or at the office.
  • the system further includes one or more servers 204, at which teachers and administrators 205 gain access to the system.
  • a network which consists of transmission medium 206 and local attachments 207.
  • the network illustrated in Fig. 2A is of a bus-type configuration, as in a local area network perhaps using collision detection or token passing protocols or both, this invention is adaptable to all forms of networks which support adequate transmission protocols, such as those that are functionally similar to the TCP/IP protocol suite, and as appropriate, ATM technology.
  • the invention is adaptable to networks constructed from switched or non- switched links to a central server, which can be configured of several LAN attached server systems, to networks including CATV cable or optical links, to networks including radio links either terrestrial or satellite, and to public or private packet switching networks.
  • a preferred public packet switching network to which this invention is adaptable is the Internet.
  • ABI system nodes can be linked to the Internet in any convenient manner known to those skilled in the art and can include security boundaries (known a firewalls) to prevent unauthorized access.
  • an ABI system implementation can be an "intranet,” that is a network constructed according to TCP/IP protocols but using private links of the types enumerated above, and as appropriate, ATM technologies.
  • student client system 201 includes memory 208, which is RAM type real memory or a virtual memory based on RAM type memory and a backing store.
  • the client system has no permanent disk storage.
  • a preferable student client can be a low cost network computer ("NC") .
  • a NC is a computer with processor, RAM, and network interfaces sufficient to access intranets or the Internet.
  • a NC is preferable in cases when high-bandwidth network access is available.
  • the client system can have one or more disc drives 209 which can be used as a pre-fetch buffer or a read-only cache.
  • the " disks preferably are magnetic, although in a less preferable embodiment they can also include CDROMs . This optional capability serves to enhance communications efficiency in cases where the network has relatively low bandwidth.
  • Large files can be downloaded in advance of a student session or the student client can cache read-only data across sessions obviating the need for downloading such files. Such caching requires the operating system components to maintain some form of version control of the read-only data.
  • the student data object which contains all permanent and read-write student data, is stored between sessions on a server. This permits a student to access the ABI system services from any available client system at any time by simply downloading the student data object to that client system.
  • I/O interactive input/output
  • standard devices include pointing devices, such as mouse 211 or a trackball, age appropriate keyboards, optionally speech recognition, and so forth. Speech recognition will permit brief conversations with the "Study BuddiesTM,” or other personae, in limited areas.
  • the invention is adaptable to special input devices appropriate for particular groups, such as the handicapped, and to devices yet to be constructed.
  • Virtual reality (“VR”) interface devices such as VR gloves and VR display helmets can have immediate applications for special needs students.
  • preferable devices include computer display 212, for displaying objects such as text, graphics, animation, and video, and audio output devices for voice and sound clips.
  • Fig. 2A also shows an exemplary screen layout for a student client that exemplifies the principal functions of this invention.
  • the screen is preferably partitioned so that principal components of this invention are displayed; and important student actions are represented by icons or buttons.
  • the screen includes materials and tools area 220 to the left, agent area 215 to the right, and a system toolbar 218, which includes a student customization area 221 at the top.
  • the size of the 1 screen partitions illustrated preferably change from time to time in response to student customization or display requirements.
  • either the materials area or the agent area can enlarge, perhaps up to the entire screen as needed.
  • Materials area 220 is for the instructional materials, tools, and communication materials to present visual display objects and for these components to receive interactive input. This area is further subdivided into display region 213 and a materials specific toolbar 214.
  • On-screen agent area 215 is for the on-screen agent to receive meta-requests and to display synchronous and asynchronous meta-responses .
  • an exemplary on-screen agent consisting of a single persona 216 and a meta-request icon 217. The persona can move to other screen areas as required.
  • the system area at top includes toolbar 218 for selecting particular available system components.
  • selection icons 219 for the calendar and scheduling tool.
  • Part 221 of the system area can be reserved for student customization, for example for the display of reward graphics "given" to the student by the agent or virtual tutor.
  • Functionally illustrated in Fig. 2A is an exemplary memory organization of a student client system when a session is in progress with materials being presented.
  • Layer 222 comprises operating software and network communications.
  • This software provides, among other services, support for I/O devices attached to the client, a file system with cache control, lower level network protocols, such as TCP/IP and ATM, and higher-level network protocols, such as HTTP V2.0.
  • Basic shared ABI system capabilities are provided by executive software 223.
  • the executive software verifies student identity and access authority, establishes communications sessions with the system servers as required during client start-up, downloads from the student object database the student data object corresponding to the student in session at this client system, downloads instructional materials scheduled for this student, and download executable software required from the systems servers as-needed.
  • the instructional material and the software are read-only and are not changed.
  • the student model is updated by the agent during the student session and modified parts are uploaded to the student database on a server for storage Such downloading can utilize higher level network transfer protocols, or alternatively, directly use lower level network protocols
  • Agent software 225 certain parts of student data object 226, and certain instructional materials software 224 have already been downloaded
  • the materials are displaying CDject ⁇ m screen area 220, forwarding events to the agent and receiving agent management or controls, as indicated by arrow 227
  • the agent is displaying its persona(e) in screen area 215, interacting with the materials, as represented by arrow 227, and is referencing and updating data in student data model 226, as represented by arrow 228
  • the student client system further includes standard components not shown, such as a microprocessor and input/output interfaces.
  • standard components such as a microprocessor and input/output interfaces.
  • Alternative implementations of the student client system are within the scope of this invention.
  • student client system function can reside on a server system.
  • the client system can be implemented as two machines, wherein a first machine performs substantially all the computations and a second machine is for student interaction and sends student input and receives display instructions from the first machine
  • the ABI system further includes one or more server systems 204 of Fig. 2B with sufficient large capacity discs 230 for storing all student data objects in the student database, all instructional materials, and all software used in the system.
  • the network is used to distribute the software, student data objects and instructional materials form the servers.
  • the server can be a central host system.
  • servers preferably have increased performance and higher speed network connections 231 in order to make this stored data quickly available to the one or more student client systems. Access to the body of student data allows teachers and administrators to track student performance by class, grade, subject, school and so forth. This statistical data is also input into agent processing.
  • the server systems are preferably configured as shown in Fig. 2B and are loaded with software 232 providing the following function.
  • First there is operating system, network services, and file server layer 233.
  • layer 233 also provides a file server facility including file backup and version control.
  • System manger 234 includes facilities for access control, authenticating student access requests and limiting file access to authorized users. For example, students can be limited to only their personal files,- parents to their children's files and curricular related data; teachers to files and student data objects for their classes,- while certain administrators have unlimited access.
  • the system manager can also maintain any necessary system logs.
  • Student data object database 235 is explicitly illustrated Student data objects reside on the server systems when the associated student is not in session.
  • These objects contain the data which is the source of all teacher and administrator reports, data by which these staffs schedule student courses and assignments, and data representing the pedagogic model of the student used by the agent software.
  • Instructional materials databases 240 and directories of executable software also reside on the server systems. When group communications is in use, agents and communication tasks monitoring the groups can reside on the servers.
  • the servers also contain areas 237 for administrative data and for reports and report software of interest to the administrative staff.
  • the servers contain teacher areas 238 for data and report software of interest to teachers.
  • certain instructional materials can be made available specifically for the teaching staff, along with an individualized teacher agent acting as a virtual tutor for the teachers.
  • the facilities of the ABI system can be used to simplify teacher familiarization and system training.
  • teacher training can be user instruction in the ABI system itself, or can be teacher versions of student materials designed to assist the teacher in his/her use and customization (in the nature of today's teacher versions of textbooks) .
  • teacher specific tools for example, to assist in generating student reports and class management.
  • the server system contains special instructional materials and associated teacher data objects 236 for performing this instruction.
  • Client systems for teacher access have agents unique to individual teachers .
  • the flexible server structure of the system permits administrative and teaching staff to perform their specific tasks on any computer system with enough computing resources to support these tasks .
  • necessary system components are downloaded from servers to these temporary client systems. Thereby, these personnel are not limited to sessions on server systems.
  • materials authoring can be done on server systems, client systems, or on separate systems not interconnected with a given ABI system. To make authored materials available, they are transferred to and indexed in the appropriate server system databases.
  • Figs. 2A and 2B can be constructed on standard hardware platforms meeting the requirements discussed in this section.
  • ABI ABI system
  • Networks permit students and teachers to participate at more than one school, and, further, permit delivery of homework and instruction to remote locations.
  • the client system must access student data objects, instructional materials, and ABI software from the network.
  • Access to all system components is typically provided from ABI system servers attached to the network. It is preferable, to use a single large network server in place of several smaller network servers. In all cases, it is preferable to store the updatable student model objects on server systems, in order that they can be downloaded to whatever client system a student accesses.
  • Networks suitable for an ABI system can be of any configuration and protocol that meets the system's client- server communication and object transfer requirements, where the client is either a PC or a network computer ("NC") . Suitable networks can be private or public.
  • the preferred ABI network in the case of PC clients is an intranet running the TCP/IP protocol suite and utilizing ATM technologies as appropriate.
  • utilizing a single large server such a server can be directly connected to the intranet or Internet.
  • these servers can be connected into a cluster by a LAN, preferably an Ethernet LAN.
  • the ABI network is built from a local Ethernet LAN with remote connections to telephone lines using 28.8 Kbps modems, or other network links.
  • the network can by visible to the public Internet if adequate security systems (firewalls) prevent unauthorized access. This can make wider access available at lower cost than by switched telephone remote connections .
  • the ABI LAN can be further connected to other ABI LAN's and to other networks, such as the Internet, by standard use of routers and gateways.
  • An exemplary protocol for an ABI System network is TCP/IP supplemented with a client-server protocol such as HTTP and object transfer protocol, such as a multi-format mail protocol.
  • client-server protocol such as HTTP
  • object transfer protocol such as a multi-format mail protocol.
  • ATM technologies are used as appropriate .
  • Remote clients are expected to be indirectly connected to the ABI network. These connections can consist of routing over a public network cr direct dial-in connections. These connections can be of either low-speed or high speed.
  • the ABI system can be implemented on networks such as @Home (Mountain View, CA) , which use a combination of ATM, cable modems, TCP/IP and other technologies.
  • the ABI system can also be hierarchically configured on new network topologies for distance learning in areas with limited communications infrastructure.
  • Primary central servers with ABI software and instructional materials communicate with remote secondary servers over broadband satellite communication systems.
  • Student clients connect to the local secondary servers through wired or wireless means .
  • the client hardware consists of client input/output ("I/O") , client CPU and memory, and client network access.
  • client I/O client input/output
  • standard input devices such as keyboard and mouse, or other pointing device
  • Color graphics output capability adequate to support partial screen animations is preferred. Sound generation and output are preferable on ABI client systems.
  • Text-to-speech conversion can be done either in software or in hardware. When economically available, full video capability, for example by providing video decompression hardware such as MPEG decoders, and speech recognition, for example with hardware assists, are also preferable.
  • the ABI system is also adaptable to special I/O devices appropriate to special student groups, such as the very young or the handicapped. These include, for example, simplified keyboards, touch panels, VR devices, and so forth.
  • Client memory must be sufficient to contain resident operating system components, resident ABI executive software, and dynamically loaded segments of the student data object, instructional materials, and code.
  • High performance CPU's together with high performance graphics hardware and memory is preferable to enable more advanced presentation effects.
  • ABI software In embodiments where part or all of the ABI software is implemented in special languages, hardware or software assists for these language are preferable. For example, where such a special language is JAVATM (Sun Microsystems, Mountain View, CA) , JAVATM chips, which enhance performance of the JAVATM interpreter, are preferable.
  • the ABI client node in certain embodiments can be a JAVATM enhanced network appliance adapted to Internet communication access and the HTTP V2.0, or equivalent client-server protocol.
  • Client communication hardware can be adapted for either local or remote attachment.
  • Local access requires network access hardware,- remote access requires a communication capability.
  • This invention is adaptable to lower speed access over switched telephone line services, preferably using 28.8 Kbps modems or ISDN interfaces (64 or 128 Kbps) . These bandwidths are adequate for sessions with materials using only voice and limited animations. Prefetching and caching can be required to make fullest use of other materials at this bandwidth.
  • This invention is also adaptable to high speed access over any available high speed links, such as Tl (1.5 Mbp ⁇ ) , T3, ADSL telephone lines, or cable modems (several Mbps) , or other means of high speed access. These bandwidths permit full access to materials without limitation. If economically available, high speed - access is preferred. With greater communications bandwidth, the on-screen agent can appear more life-like.
  • Standard client software includes an operating system and communication software.
  • the operating system preferably has interfaces to client I/O devices including communications capability and network access, such as a TCP/IP stack.
  • ATM interfaces are present if necessary.
  • it also has means for establishing sessions with servers, for providing file server services, and means for security as specified shortly.
  • the implementation language or languages of this invention preferably have several features related to the implementability, maintainability, and extensibility of ABI.
  • the implementation language preferably provides a degree of modularity similar to that provided by object-oriented programming languages . It preferably provides means of dynamically loading acros ⁇ a network and executing additional software segments during program execution. It preferably provides means of accessing all input devices and of controlling the output devices in a high level display object fashion. It preferably provides a threaded or multiprocessing capability. Less preferably, this invention can be implemented in any computer language, including a ⁇ sembly language.
  • a currently preferred client system is a IBM type PC with a PentiumTM 120 Mhz processor, 16 MB memory, a 1 GB disk drive, a Soundblaster compatible sound card with speakers, a medium performance graphics card such as a Diamond Stealth card with 2 MB of graphics memory, an Ethernet card or a communication card and a 28.8 Kbp ⁇ modem, and standard keyboard and pointing device such as mouse.
  • the operating system is WindowsTM 95 with network services provided by a World Wide Web browser equivalent to Netscape 2.0 or better and capable of running JavaTM applets. JavaTM together with standard system and graphics classes is the implementation language.
  • the primary function of the server systems of this invention is to store databases of executable software elements, of student data objects, and of instructional materials .
  • the latter two consist of heterogeneous and structured elements .
  • the ⁇ e elements can be stored in a relational database such as supplied by the Oracle Corp. or the Sybase Corp.; they can be stored a ⁇ specialized data files,- or they can be stored in an object-oriented database system such as ObjectStore (Object Design Inc., Burlington, MA) .
  • the operating system of the server nodes must support whatever database systems are selected as well as network and application server software to access the databases.
  • Application database server software of this invention preferably provides database access and version control and downloads database elements on client request .
  • the preferred server hardware and software can vary widely depending on the number of clients to be simultaneously served. This number can vary from 20 at one school to more than 5000 across an entire school system. The number of servers and database distribution across 'a server cluster can be adjusted by means known in the art to satisfy projected peak loads.
  • a suitable medium performance server system can be configured on a high end INTEL Pentium or DEC Alpha system with adequate memory and disk space. WindowsTM NT is an adequate server operating system, and Internet server software similar to that from Netscape is adequate for network access.
  • the preferred database is an object oriented database such as ObjectStore.
  • application database access uses a common gateway interface ("CGI") program also providing database access and version control.
  • the CGI access program can be implemented in C++, a suitable object oriented programming language capable of accessing interfaces to ObjectStore databases.
  • ABI System Security Security and access control present additional client and server requirements which are importantly part of an implementation of this invention. Security and access control can be maintained by careful selection of management policies, security software, and security hardware. These elements are described in this section in the order of authorizing and controlling access, operating system and network security requirements, and implementation language issues.
  • the primary means for authorizing and controlling access are pas ⁇ word ⁇ .
  • Sy ⁇ tem management of passwords preferably includes ensuring that user passwords are secure, not easily guessed, and are periodically changed.
  • This invention is also adaptable to any other means of access control, including for example, pas ⁇ ive and active identification cards and recognition of certain personal characteristics, such as voice.
  • Access protection can be preferably provided by limiting access to system resources - database and file - based on a user's password. For example, access protection can be implemented in the CGI application access programs .
  • the operating system in clients and server ⁇ of this invention is preferably of a tested security level.
  • This base security can be enhanced by a variety of techniques and tools that can provide increased levels of security for additional investments.
  • Such techniques and tools include firewall machines, that is dedicated network gateways than filter incoming and outgoing packets according to content criteria, and monitoring software, such as tripwires, that observe system events for suspicious combinations.
  • encryption can help protect sensitive and valuable data from illegitimate access by those without the key. Encryption in hardware and software can be provided according to methods known in the art, such as the Rivest-Shamir-Adelman (RSA) public key algorithm or the data encryption standard private key algorithm.
  • RSA Rivest-Shamir-Adelman
  • the implementation language importantly should address the security exposures thereby created.
  • a malevolent and knowledgeable user can create or modify the downloaded code to perform illegitimate operations within the client system or access restricted information from the server.
  • the JavaTM language is preferable in these embodiment because it now significantly addresses these problems and further improvements are constantly being made.
  • Examples of JavaTM security measures include limiting access to client system resources, particularly the file system and network connections, preventing downloaded software from 'spoofing' local software, and providing byte-code verification to test code for possible security violations.
  • Any implementation language for an ABI system preferably offers similar or improved security features .
  • Each student receiving ABI instruction on a specific topic is presented with a combination of instruction, utilities, and on-screen agent interaction. Because the ABI System provides individualized interactions, each such presentation comprises a unique mixture of visual, audio, and software elements. Also, each user's consumption of hardware and communications resources differs .
  • the ABI System therefore preferably incorporates metering technology to track the utilization of the different elements of the ABI Sy ⁇ tem. Such information can be used to determine payments tc the creators or providers of these elements and/or as a basis of charges to the user. Further, this information can be used by ABI System providers to determine absolute and relative usage of various components of the system. Parties interested in such information include providers of server hardware, application software, networks, instructional and tool content, authoring tools and on-screen agent animations, scripts and utterances. Finally, this information can be used to monitor system performance and utilization.
  • the ABI sy ⁇ tem comprises hardware elements, standard software elements, special application software elements, and content elements typically supplied by different providers.
  • Hardware elements include networks and other communications links, server CPUs, and disks.
  • Standard software elements include operating systems, database packages, and communications software.
  • Application software includes instructional playback engines, schedulers, and agent software.
  • Content includes instructional materials, utilities such as dictionaries and encyclopedias, and on ⁇ screen agent animation and utterances .
  • ABI metering comprises the elements of the metering utility software, of tagging of all ABI component elements, and of the preferred methods of monitoring.
  • the pricing and compensation model is preferably provided by sy ⁇ tem administrators.
  • the ABI Metering Utility Software measures usage and maintains usage data in a 'multidimensional usage model' during each student session.
  • the MUS is resident at run-time on the student clients and the system server(s) .
  • the MUS is a component function of the Session Manager with inputs derived from the Executive Software, Agent Software and the Materials Engine.
  • MUS is a component function of the System Manager Software.
  • each ABI element is tagged with an ownership identification code similar to a product barcode.
  • the first digits indicate ownership and subsequent digits indicate the specific component.
  • a ⁇ the elements move through the ⁇ y ⁇ tem from server to client and within the client, the use of the ⁇ e elements is metered.
  • the Materials Engine uses materials ownership tags to meter content.
  • the agent utterance generation and visual display generation uses tags of the data snips to track ownership of on-screen agent actions.
  • the ses ⁇ ion and ⁇ creen manager keep ⁇ track of which element of the screen is active.
  • This invention is adaptable to any method for measuring usage appropriate to the particular component elements. In particular, four preferred methods of measuring usage are by- time, by-interaction, by-unit and by-packets.
  • the by-packet method is performed at each server to track usage of communications resources. This method is preferably implemented by using a count of the number of bytes transferred in order to estimate the number of packets transferred.
  • the ABI application software keeps track of counting the number of bytes transmitted to the user according to content type (i.e. system packets, instructional materials, or elf animations) . Then based on the network transfer protocol used, the byte count may be converted to a roughly equivalent packet count. Alternatively, the byte count may be used directly as a measure.
  • each server sends a summary of packet transmission information to a unique metering utility server.
  • the by-elapsed-time method is performed at the client.
  • the Screen Manager at the student client keeps track of the multiple simultaneous on-screen activities such as instructional materials, the elf, and the dictionary.
  • This method preferably further monitors the active element of presentation, that is, the element performing an action or the focus for student input.
  • the connect time of the student may simply be measured at the server.
  • the System Manager application at the server additionally periodically obtains session statistics during a user session, either by polling the student client or from timed client downloads.
  • the by-units method is preferably implemented either at the server or at the client.
  • This method measures the content accessed by the client. For example in the case of instructional materials, the server records the ⁇ pecific lesson accessed while the client records the completion of exercises. In the case of on-screen agent actions, this method records each completed display or animation sequence or utterance.
  • the by-interaction method is preferably performed at the client and records both fine-grained interactions, such a ⁇ clicks and keystrokes, and the medium grained interactions, such as completed responses and metarequests .
  • This method when combined with the by-time or by-units methods provides an indication of the relative level of interactivity of the instruction. For example, during use of instructional materials, the by-interaction methods measures the actual usage of each resource such as agent processing. Usage of the different ABI elements is preferably metered by an appropriate method.
  • the methods described abcve are not uniformly advantageous to different types of presentation. A graphics designer might seek compensation based on the amount of time a design is on the ⁇ creen, while the instructional designer might seek compensation based on the fraction of the les ⁇ on completed.
  • the by- elapsed-time method is preferred for graphics designers, while the by-units methods is preferably used to record the publisher and lesson for instructional materials, the type and author for tool ⁇ material, and the creators of the animation and utterance for on-screen agent actions.
  • the by- packet method is preferably used to record the source of the network traffic such as access to the student object database or downloading of application software, in ⁇ tructional materials, or animation data snips.
  • the preferred metering methods provide information needed for the typical owner compensation and user pricing models.
  • system administrators provide pricing and compensation models.
  • This invention is adaptable to many alternative such models.
  • One user pricing model is a flat rate based on the type of instruction being made available, similar to pricing in the cable industry.
  • Another is based on connect time, as frequently done for Internet acces ⁇ , or on type and quantity of information retrieved, a ⁇ i ⁇ common for on-line database access.
  • TABLE 1A illustrate ⁇ an exemplary model for compen ⁇ ating provider ⁇ of ABI ⁇ ystem elements. Compensation i ⁇ based on metering data and an allocation model . The four metering methods are applied selectively to different providers. The allocation amounts 'a', 'b', 'C and 'd' are externally determined.
  • the Instructional Interface The ABI system has interfaces for students, teachers, and administrative staff . Materials and software developers can have specific ABI system interfaces. Alternatively, such development can occur on separate sy ⁇ tem ⁇ followed by indexing and loading of the developed components into the appropriate databases.
  • Student-System Interface This section describes the structure and design of the student-system interface. This description is directed to the currently preferred implementation of this interface by a series of visual display screens. However, this invention is not so limited, and adequate alternative technologies, for example voice output with speech-recognition input, can be used to implement this design. 5.3.1.1. Exemplary Student Screens
  • screens are structured as a hierarchy of areas and subareas with text, graphical, animation, and perhaps video object ⁇ displayed in the subareas.
  • Objects can either be for display only or permit student input or interaction.
  • Task screens are used for materials presentation task ⁇ such as homework assignments including problems, programmed steps, mastery quizzes, and drills.
  • Table 1 and Fig. 3 illustrate exemplary components of a task screen appropriate for elementary education. Reference numbers in Table 1 are from Fig. 3.
  • the ⁇ ession manager presents objects visualized as icons permitting the student to easily access ABI sy ⁇ tem facilities.
  • materials area 304 object presentation including description, placement and movement, is ⁇ pecified by the material ⁇ de ⁇ igner in the pre ⁇ entational and sequencing sections of the materials data.
  • the materials engine interprets the ⁇ e ⁇ pecification at run time to send display object ⁇ for display.
  • agent area 303 agent behavior processing formats predefined parametrizable objects, including resolution of object parameters, representing selected agent personae. The output from all selected and formatted display objects is sent to the executive software and operating system for ultimate display to a student .
  • buttons, etc . filling in text, dragging, drawing
  • the task screen of Fig. 3 includes in system area 302 student customization area 305.
  • the student can display objects given by the agent as rewards for student accomplishment. These objects can include text, as illustrated here, graphics, or animations.
  • file system toolbar 306 displaying accessible files as icons in a "book- Gr.-shelf" metaphor.
  • This invention is adaptable to other reasonable file system display metaphors.
  • the book icons represent a file personal to the student, a file holding ongoing instructional materials, a file of e- mail, and files for tools such as a dictionary and group activity.
  • Below file system toolbar 306 i ⁇ toolbar 310 for tools the student ha ⁇ access to.
  • Illustrated here are icons for a calculator, a word processor, communications, and starfish, a general purpose language tool.
  • "Starfi ⁇ h” are a vi ⁇ ualization tool for semantic networks that can be available in an ABI System.
  • a semantic network typically consi ⁇ ts of nodes linked to other nodes by semantically significant and named links.
  • a starfish tool visualizes such a network for a student by displaying the node centrally in the body of the starfi ⁇ h with the node' ⁇ links di ⁇ played as arms of the starfish.
  • a dictionary represented as a semantic network might include a node for each word with links to similar words, opposite words, root words, and so forth.
  • a dictionary ⁇ tarfish displays a word in its body.
  • the scheduling/calendar tool is an important tool that is always available.
  • Exemplary icon 309 illustrated for this tool has calendar part 307 and clock part 308. Selection of each of these parts brings up daily and monthly scheduling functions. These function can either prescribe the student's next activity or permit choice where the student ha ⁇ exce ⁇ s time or demonstrated personal scheduling ability.
  • materials area 304 instructional materials, tools, and communications materials display their content. Illustrated in Fig. 3 is page 3 of an exemplary mathematics homework.
  • Instructional materials are advantageously 5 structured as a book of exercises and items, emulating current textbook and workbook practice.
  • section tabs 312 permit the student to navigate the homework book by sections
  • page buttons 321 permit the student to navigate the homework book by page.
  • toolbar
  • An exemplary standardization has header information 314, presentation 315, and interactive input area
  • On-screen Agent area 303 allows the student entry of meta-requests and allows the agent to display synchronous or asynchronous meta-respon ⁇ e ⁇ .
  • This exemplary area illustrated in Fig. 3 comprises meta-request button 320 which the student
  • Student metarequests are generally allowed by the ABI ⁇ y ⁇ tem at any time. Requests may occur at the beginning, middle or end of instructional sequences, in choice screens, in tools, in group communications, or in the calendar. Agent
  • 25 metarespon ⁇ e ⁇ are individualized and context dependent. Typical metarequests are illustrated in Table IB. As an example of context dependence, if the request 'Where am I?' occurs within a le ⁇ on, a graphic repre ⁇ entation of ⁇ the le ⁇ on will be shown,- whereas if the same request is made
  • the agent software attempts to respond based on the user's intention and uses the context and previous request ⁇ to infer the reason for the current request .
  • the instructional materials notations provide a framework for the agent software to keep track of the relative position of the student in the lesson. This same information is also available to the teacher for lesson preview and annotation.
  • the remainder of area 303 is for agent meta-responses, which importantly have multi-media structured into personae. Illustrated are text mes ⁇ age 318 and visual persona 319 that typically includes animation. Also possible is audio output, either text-to-speech or generated from audio files.
  • Fig. 4 further illustrate ⁇ an exemplary ⁇ creen interaction between the materials and the agent. Fig. 4 shows only the content of materials area .501 and on-screen agent area 502 of the complete display screen of Fig. 3. A mathematic ⁇ homework material is displaying item presentation 503 with input selection buttons. The student has selected wrong input button 504. At this educationally significant event, the materials send to the agent several messages generated by notations in the materials data.
  • the student's agent has chosen to act a ⁇ illustrated.
  • the agent software integrates speech utterances, visualization, display of text and graphics, and animation into a persona display for highlighting an educational event that the agent determined important based its processing of the current input, past student inputs in this le ⁇ son, and the student's pedagogic model generated over several sessions .
  • Choice screens can be used at the tran ⁇ ition ⁇ between in ⁇ tructional sequences . They summarize what instructional material ⁇ have ju ⁇ t been completed, announce status information, and list any material ⁇ choices now available to the student . These choices can related to instructional materials to be undertaken next or to optional, non- instructional materials, such as exchanging credits for time in a game room, acces ⁇ to e-mail, and so forth, that can be available to the student.
  • the inputs of a student or other user of the ABI System are preferably classified as request ⁇ , meta-reque ⁇ t ⁇ , or data.
  • a student request is an input directed to materials or to the system seeking a specific action.
  • Student data i ⁇ an input responding to a sy ⁇ tem reque ⁇ t for information.
  • student requests include an input to the system to start the calculator is a reque ⁇ t, or an input to certain materials to submit completed homework to the teacher.
  • input of numbers into the calculator is data.
  • This invention is adaptable to a further particular type of data input, termed semiotic, in which the student selects certain signs or symbols to provide input.
  • Semiotic input is particularly advantageous when the agent requests the student to report his feeling or appreciation for a particular educational event.
  • Meta-requests are inputs directed to the agent seeking specific actions. For example, student input to the agent seeking hints during the current materials i ⁇ a meta-request .
  • Displays produced by this invention are preferably classified as applications, response ⁇ , meta-response ⁇ , or que ⁇ tion ⁇ .
  • Application display occurs upon sy ⁇ tem initiation of an available material, for example, an in ⁇ tructional material or a tool.
  • the agent can request the system to make a tool available to the ⁇ tudent.
  • Response ⁇ are all displays produced by materials or by the system.
  • responses include material ⁇ pre ⁇ entation di ⁇ play and di ⁇ play on the adequacy or correctne ⁇ of student input.
  • Meta-responses are all displays produced by the agent.
  • Que ⁇ tions are a particular form of response or meta-response which seek further student input. Que ⁇ tions engage the ⁇ tudent in a form of a dialogue which i ⁇ an integral :omponent of the tutoring interaction.
  • Fig. 5 illustrates an exemplary segment of the interaction of the student and the system that can occur during a mathematics homework. It illustrates both how response ⁇ and requests are distinguished from meta-responses, and meta-requests and also how the agent, through its observation of the ⁇ tudent' ⁇ current ⁇ ituation and it ⁇ contact with past student history, is able to guide the student better than the materials alone, which are only aware of the current context.
  • This display is individualized to the student' ⁇ current and pa ⁇ t performance and preferably 5 u ⁇ es realistic, life-like on-screen personae to engage the student. Display ⁇ from the ABI System directed to the student are indicated generally on the right; inputs from the student directed to the ABI system are indicated generally on the left,- and time increases downward.
  • the following general principles preferably guide system and materials responses and agent meta-responses.
  • 35 some display is to be made on every user input, if only to echo a character or mouse click.
  • a user is never to be left in doubt about the status of current task ⁇ .
  • the system preferably provides task specific hints or suggestion ⁇ if no user input is received in a time period adaptively determined.
  • all responses reflect the current context .
  • aspects of system response ⁇ ⁇ hould be adapted to the particular student audience, from elementary to adult education and including special classes of students. This tailoring can be set by the teaching or administrative staff.
  • One adaptable aspect is the language level and the language of system responses - for example, the vocabulary and language of help services, messages, and tutorials - is preferably adjustable.
  • Another important adaptable aspect is the type of personae of the on-screen agent is preferably adjustable.
  • the types of encouragement, level of joke ⁇ , and so forth, depend closely on the intended student population and are advantageously adjustable.
  • tools are also adaptable. Each tool is also advantageously enabled or disabled for each student .
  • Mail and communications tools for example, can be made unavailable for the lower grades.
  • File creation and deletion can require strict controls. Also, certain tools can have differing complexity levels suitable for differing student levels .
  • meta-respon ⁇ e selection is preferably shaped in view of the student' ⁇ pa ⁇ t baselines of speed, performance accuracy, modality, as specific to the type of materials. Moving average functions, in which recent values are given higher weight than earlier values, can be used advantageously to generate baselines of performance and timing.
  • the timing of meta-responses is preferably based on student data object fields that record the amount of help asked for in the past and past performance provided. Further, the pacing of meta-responses is advantageously context ⁇ en ⁇ itive.
  • remediation should be offered only in case of repeated error or hints offered asynchronously only after a relatively long period without an answer. Also, previous student interactions should be utilized. Repeated requests for hints should be noted and dealt with perhaps not with another hint but with remediation. The rate of prompts, advice, and hints should be adaptively adjusted on the basis of ongoing performance ' records .
  • the actual content of a meta-response can be adjusted to the current situation by filling in parameters from event messages sent from the materials. See infra .
  • IMIS Instructional Materials Interface Standard
  • Marker requests use general notations for the type of lessons and specific notations for prerequi ⁇ ite ⁇ .
  • Temporal requests use notations of expected time together with profile informatioi on individual performance on that type of material .
  • Typical predefined graphical response templates include roadmaps (perhaps in the form of a train and subway map) , charts, table, graphics and icon flowcharts. Colors can be used to the show relative levels of performance, urgency or dependency of elements. In respon ⁇ e to a 'How am I doing' request, green might indicate good performance,- yellow, adequate performance,- and red, needs immediate attention. Similarly, the shape of the icon might indicate its function such as a diamond for caution or a hexagon for stop.
  • Figure 12 illustrates an exemplary dialogue starting with the ⁇ tudent metarequest 'where am I?' .
  • the on-screen agent then make a metaresponse containing a ⁇ ummary of the ⁇ tudent' ⁇ progress, for example "You are one quarter through the lesson on adding fractions.”
  • the student might request further information.
  • the on-screen agent will point to the location on the diagram and say "You are here.” If the ⁇ tudent then clicks on an element of the chart, the agent will provide further information. For example, clicking on the Practice Box will provide a metaresponse containing a flowchart of this upcoming activity, a ⁇ generally illustrated.
  • the calendar scheduler is advantageously capable of providing the following response ⁇ . These are controlled by schedule data contained in the student data object and are proces ⁇ ed by the calendar/ ⁇ chedule tool .
  • Schedule reminder responses which remind the student of deadlines for materials task ⁇ in the system or for external activities, such as getting a parent's approval for a clas ⁇ outing.
  • Ta ⁇ k sequencing ⁇ ugge ⁇ tion responses, which suggest an order of assigned task ⁇ based on student history and on the as ⁇ igned priority and deadline.
  • Timing e ⁇ timate re ⁇ ponses which estimate how long a task will take based on timing information entered as part of task in the instructional materials and on pa ⁇ t relative performance for this student.
  • the ABI system provides for of scheduling initiative to be divided between the ⁇ tudent and the sy ⁇ tem.
  • Settable task schedule parameters permit, at one extreme, the student to have complete scheduling control, able to initiate and to exit any activity at will, and limit, at the other extreme, the student to work on only those materials that the sy ⁇ tem schedules .
  • schedule parameters include those controlling the tools and option ⁇ available to the ⁇ tudent while performing a given task and those requiring the student to perform background reading or remediation.
  • Important initiative parameters include the scheduling values of task priority value and deadline. If the priority and date are not both "off", those tasks with greater priority and earlier deadline are automatically scheduled for the student. If these values are "off", the student has control of task scheduling.
  • the sy ⁇ tem of thi ⁇ invention also includes a central list of timed activities, perhaps stored on the server ⁇ y ⁇ tems, to be performed by the sy ⁇ tem.
  • the ⁇ e can include regular time ⁇ for the generation and printing of ⁇ tandard reports or for the broadcasting mes ⁇ ages concerning group activities such a ⁇ spelling bees.
  • the ⁇ e timed activitie ⁇ can be performed by ⁇ cheduling ⁇ oftware which compiles the timed activity li ⁇ t ⁇ and initiate ⁇ the listed activities at their listed time ⁇ .
  • Such ⁇ cheduling ⁇ oftware can be ⁇ imilar to the "at" utility in UNIX operating ⁇ ystems .
  • the teacher use ⁇ the ⁇ y ⁇ tem to perform ⁇ uch function ⁇ a ⁇ entering initial profile ⁇ in ⁇ tudent data object ⁇ , assigning ⁇ tudent ⁇ to subgroups, previewing, annotating and scheduling a ⁇ ignments, reviewing and commenting on completed homework as ⁇ ignment ⁇ , and reviewing summary reports .
  • the agent of the student is also an agent of the student's teacher in that the student' ⁇ teacher control ⁇ key parameter ⁇ in the ⁇ tudent data object, which in turn control ⁇ agent actions.
  • the teacher customizes the ABI system by setting student data object parameters, assigning and prioritizing as ⁇ ignment ⁇ , and customizing materials. Important teacher activities are included in the following list .
  • the teacher initializes and exercises continuing control over important data in the student data object, and in this manner ⁇ upervi ⁇ es the student's use of the system. For example, the teacher controls the access and level of tools available to the student and limits the extent to which the student can alter agent personae.
  • the teacher controls the student's use of the ABI system by assigning, scheduling, and prioritizing the student' ⁇ access to the materials. This is accomplished by teacher control over the schedule subtype in the student model object. For example, the teacher can schedule task ⁇ that must be completed on the ABI sy ⁇ tem, ⁇ chedule non- ⁇ ystem tasks, remove task ⁇ or modify their priorities.
  • the teacher can customize materials available to the student ⁇ .
  • the extent of routine customization includes modifying sequencing of instructional les ⁇ ons, elements, and items, choosing the homeworks the ⁇ tudent mu ⁇ t complete, specifying the formats of homework assignments having some student discretion, such as reports, sending message ⁇ to ⁇ tudent ⁇ .
  • the teacher's class management is aided by a facility to send mes ⁇ ages, reminders, hints, etc. to students using the ABI ⁇ y ⁇ tem e-mail facilitie ⁇ .
  • the system can advantageously as ⁇ i ⁇ t the teacher in homework management. Once the ⁇ tudent completes and submit ⁇ a homework a ⁇ signment, a printed copy can be made for the teacher and the student .
  • the homework assignment can be graded by the ABI system, if answers were provided as part of homework material .
  • the teacher can add comments for the student, if homework is viewed online by teacher.
  • the system can advantageously also provide the teacher with summary and detail reports for each student and class .
  • These reports can be immediately available online or printed for later review.
  • reports can contain both current and cumulative data on instructional progress and homework assignments.
  • the reports can also flag patterns of deficiency in a student's homework and problems in a student's in ⁇ tructional progress.
  • these reports are generated from the database of student data objects on the server systems.
  • the teacher can be a student.
  • a teacher can benefit from training in the use of the ABI system in general, in the procedures to customize materials, and in the characteristics of the particular material ⁇ used in that teacher's class.
  • This training can advantageously be packaged as instructional materials directed to the teacher which are otherwise similar to student instructional materials.
  • the teacher like the student, has accessible material ⁇ , a teacher data object recording the teacher's progress and pedagogical characteristics, and an agent using this data object to guide the teacher's training and guide the teacher in the use of the system.
  • Administrative staff can have privileged access to certain data items in the ⁇ tudent and teacher data objects and other system data, which permits them to assign students to course ⁇ , to a ⁇ ign students to teachers, and to establish instructional performance ⁇ tandard ⁇ and criteria which the ⁇ tudent ⁇ mu ⁇ t meet to complete their material ⁇ .
  • This staff can also receive online or paper reports on the progress of students in the schools, the effectiveness of teachers, and the usefulnes ⁇ of the particular materials assigned.
  • parents can also be actors in an embodiment of the ABI system.
  • a student's parents can be given access to certain fields in their student' ⁇ data object in order that they can receive rapid information on their 5 child' ⁇ assignment ⁇ and performance.
  • Thi ⁇ information can be made available at home on the ⁇ ame client system that their student receives instruction and homework.
  • educational researcher ⁇ can receive certain acce ⁇ to ABI ⁇ ystem ⁇ in order to re ⁇ earch the effectiveness 0 of educational theories and methods. For example, they can efficiently compare the effectivene ⁇ of various educational paradigms in certain instructional contexts by receiving reports relating to students pursuing materials constructed according to the paradigms of interest . 5
  • Materials in particular instructional materials, are authored by instructional designers. Authoring of materials can be done on the ⁇ y ⁇ tem on which the materials are to be
  • an instructional designer authors materials including, for example, computer as ⁇ i ⁇ ted in ⁇ truction a ⁇ known in the art, computer assisted exercise ⁇ such a homework or simulation, , c and computer managed student instructional tasks which can involve work with several materials. For all materials, the student' ⁇ agent mu ⁇ t be informed of the sections completed and skills acquired in standard formats.
  • the ABI system provides an environment in which the student's agent i ⁇ available to con; rol materials presentation and guide the ⁇ tudent to improve educational outcomes.
  • This environment includes facilities to present assignments, assess responses, probe for prerequisites, offer as ⁇ i ⁇ tance with tools such as dictionaries, and score unit mastery quizzes.
  • the system can advantageously include conventional forms of homework, such as worksheets, as well as new types of homework, such as group-based homework, and formats previously too time consuming for teachers, such as criterion based rather than fixed length or interactive rather than prescriptive.
  • the system structure can accommodate existing forms of computer assisted instruction by embedding such existing instruction in materials of this invention which contain notations and generate agent event messages.
  • the instructional designer advantageously provides information including initial instructions for the entire task in a written and preferably also a spoken format with alternative wordings as neces ⁇ ary for special clas ⁇ e ⁇ of ⁇ tudent ⁇ .
  • the de ⁇ igner al ⁇ o provides materials sequencing in accord with the education paradigm chosen. Instructional sequencing i ⁇ appropriate for interactive in ⁇ truction with feedback.
  • Homework ⁇ equencing can include a fixed order,- a student defined order; a student defined order as ⁇ isted by teacher prioritization into ⁇ uch priority group ⁇ a ⁇ e ⁇ ential, important, or optional; and sequencing defined by performance to criterion on individual item subtype ⁇ .
  • the instructional designer advantageously provides information including the following.
  • the designer chooses names for this task and exercise, its prerequisites, and the skills to be acquired in accordance with school sy ⁇ tem ⁇ tandards so that the agent can meaningfully track student performance and provide helps, hints, and remediation.
  • the de ⁇ igner provides student instructions for the exercise, preferably in both spoken and written formats.
  • the designer specifies the presentation of the exercise by creating graphics and text for the exercise and by specifying their display attributes.
  • the designer defines allowable user inputs, the data type of input, and the display areas in which input is allowed.
  • the instructional designer advantageously provides information including the following.
  • the designer defines standard ⁇ for the completene ⁇ s of requested inputs and actions, possibly none, in case of incomplete inputs.
  • An exemplary such action i ⁇ suggesting the completion of omitted inputs.
  • the designer select ⁇ how inputs are to be judged and the possible judgements, for example, correct, near mis ⁇ , incorrect, and ⁇ o forth.
  • the designer select ⁇ error re ⁇ pon ⁇ e ⁇ to individual input elements or an entire exercise. These responses can be uniform or can reflect the specific wrong answer. Error responses include retry policies and selection of remediation paths. Remediation can be item sequencing options given on the basi ⁇ of retry outcome.
  • a first step in input judging can be, where appropriate, checking the data type and perhaps range of an input. For example, checking that a fraction is entered in response to a fraction addition problem. Appropriate feedback can be given if the wrong data type or range is input.
  • Single student inputs can include entry of a single text or numeric element, movement of a single display object, selection of a single di ⁇ play object, or drawing-a line or curve perhaps encircling a display object.
  • a second step in input judging can be classification of a suitable input in standard error categories. In an exemplary embodiment, this can be performed by providing a pattern corresponding to a correct answer.
  • the patterns can be a template appropriate to the suitable input, such as a text template or a spatial template.
  • a pattern matching procedure selected from a system library of such procedures can be executed to match the input to the pattern.
  • the output of the system matching procedure is advantageously selected from a limited number of standard judgements of correctnes ⁇ and partial correctness. This judgement is then communicated to the agent in an event me ⁇ sage in order for it to guide its student and adapt its pedagogic model.
  • Thi ⁇ invention i ⁇ adaptable to templates and pattern matching procedures known in the art.
  • Patterns can include one or more parametrized text templates, spatial templates defining the relative positions of objects to be moved by the student, selection templates ⁇ pecifying pattern ⁇ of ⁇ election ⁇ . Further, spatial templates can include outlining area ⁇ of the ⁇ creen, ⁇ hape ⁇ of drawn object ⁇ , maze traver ⁇ al, and tool inputs.
  • the instructional designer advantageou ⁇ ly provides information including standards for input, exercise, and task completion.
  • the materials can require a certain minimum completion before allowing homework submission to the teacher.
  • the final authoring step is augmenting the materials with additional notations for the agent.
  • These notations concern task and exercise subject, skill clas ⁇ ification ⁇ , and definition of the educational paradigm embodied in the sequencing logic. It is performed by instructional designers or knowledgeable teachers, and i ⁇ expre ⁇ ed a ⁇ notation ⁇ in the material ⁇ that generate event messages for the agent and that reference control parameters set by the agent for control of materials sequencing.
  • the notations so entered communicate variou ⁇ types of information to the agent.
  • Exemplary types include characterization of assignment by type of task, subject, elements of subject covered by task; comparison between exercises in same assignment by similarity and difficulty; the subject matter prerequisites to determine what the student may or may not have mastered based on which exercises are answered correctly,- system knowledge prerequisites,- and scheduling information such as average and expected time to complete.
  • Thi ⁇ section describe ⁇ in a more detailed fa ⁇ hion an exemplary ⁇ tructure for the software components previously described in a more general fashion with reference to Fig. 2. Subsequent section ⁇ de ⁇ cribe particular component ⁇ in an even more detailed fashion.
  • the structure described here is exemplary. This invention is adaptable to other structure ⁇ with other allocation of the function ⁇ of thi ⁇ invention to different module ⁇ .
  • Such alternative ⁇ tructure ⁇ are ea ⁇ ily designed by those of skill in the arts.
  • This section first describe ⁇ the principal client software and data component ⁇ and the conceptual hierarchy which reflect ⁇ their interaction. Next, the ⁇ tructure of the executive software is described. Finally, the flow and processing of events through the system are described.
  • Fig. 6 illustrates the principal client software and data components and the conceptual hierarchy which reflects their interaction.
  • the links illustrated represent principal procedure cal or class dependencies among the component ⁇ .
  • OS operating system
  • ES executive ⁇ oftware
  • Thi ⁇ software collects a number of components which customize the operating system to the requirements of this invention and also extend it, if needed. For example, ail OS task creation i ⁇ processed through an ES task control facility to insure that the student accesses only permitted materials.
  • the ES ⁇ oftware also provides a preferred animation facility and controls client startup.
  • Session and screen manager 603 is always present on a client system.
  • This component partitions the screen into the areas for the principal sy ⁇ tem components, as has been generally illustrated by the exemplary screen of Fig. 3, and controls the system area, area 302 in Fig. 3.
  • schedule/calendar 607 upon student selection of an icon presented in the system are'a requesting the ES to start the function represented, it turn checks with schedule/calendar 607 whether the ⁇ tudent is currently permitted to access this function before continuing with OS task creation.
  • the system manager also presents whatever reward graphics and animation the ⁇ tudent has been granted access.
  • These functions are performed by calling the object level I/O facilities of the OS and ES. Also always present on a client system i ⁇ student data object 611 for the student in session on the client.
  • This object preferably containing all the permanent read-write data in the ABI sy ⁇ tem relating to the ⁇ tudent, is downloaded from the server student database when the student logs onto the client.
  • this object is divided into subtype ⁇ , and tho ⁇ e only tho ⁇ e subtypes referenced are downloaded as required.
  • each object is downloaded from its database as required.
  • various ABI sy ⁇ tem component ⁇ reference and update data item ⁇ in the ⁇ tudent data object is indicated by double headed arrows 608 and 614.
  • Schedule/calendar component 607 is important for management of the student by other system actors, such as teachers and administrators. It is a tool that is always active whether or not it has a screen presence. Activities for the ⁇ tudent, represented by activity description, priority, and deadline, are entered into the schedule/calendar data ⁇ ubtype of the ⁇ tudent data object by teacher ⁇ or administrators. Optionally prerequisite information can also be entered into the schedule/calendar subtype. This component uses this schedule/calendar subtype data as well as the time expected for the student to complete an activity, as determined from the student's past performance also stored in the student data object, in order to determine whether certain activities, ⁇ uch a ⁇ particular instructional materials, should be automatically started by the ES without any student intervention.
  • the schedule/calendar can permit OS task creation reque ⁇ ted by the ⁇ tudent, a ⁇ by ⁇ electing an icon.
  • Thi ⁇ component al ⁇ o provides, on request, prioritized li ⁇ t ⁇ of ta ⁇ k ⁇ for the agent to present to its student when the student asks for advice on what to do next. It uses priority and deadline information and time-for-completion data computed u ⁇ ing data in the in ⁇ tructional material ⁇ and student data object.
  • the materials are represented in the ABI System by materials engine 604 and materials data 605.
  • the materials data comprise ⁇ object ⁇ for display output or ⁇ tudent input, ⁇ equencing logic controlling object display, and notations which when referenced by the sequencing logic during object presentation generate event mes ⁇ age ⁇ for the agent.
  • Material ⁇ data i ⁇ advantageou ⁇ ly grouped into "entries” comprising tho ⁇ e object ⁇ , logic sections, and notations related to the display of a single screen or a few screens related to a single educational item.
  • the materials data also preferably include a special header or initialization entry wii.h important notations that communicate to the agent the educational paradigm adopted by these materials and can inform the agent of the control variables to which it is responsive. Such header or initialization messages are also preferably sent to the agent if the material ⁇ change their education paradigm.
  • there is one common materials engine 6C4 which presents a plurality of materials data 605.
  • Materials engine 604 downloads the entries of materials daca 605, interprets the sequencing logic, display ⁇ objects a ⁇ requested, and reference ⁇ embedded notation ⁇ generating the requested event messages to the agent.
  • Standard facilities of the OS and ES are used for object presentation and for routing any input to the materials. Input is processed according to specifications in the sequencing logic.
  • the agent controls the materials by setting shared global variables which the sequencing logic checks.
  • shared global variables can be made available by OS interprocess communication ("ipc") facilities, such as shared memory.
  • the materials engine can be any program implementing these requirements, in particular an extension of available commercial authoring tools and engines, ⁇ uch as Macromedia's Authorware.
  • the materials are not separated into an engine and a data component but consist of one unitary component for each material.
  • a proces ⁇ similar to compiling creates a single executable material ⁇ component.
  • Thi ⁇ invention is equally adaptable to otner implementations of the material ⁇ that generate agent messages and are respon ⁇ ive to agent control according to the requirements outlined herein.
  • Agent processing is divided into two component ⁇ , agent action processing 609, which determines agent display actions in respon ⁇ e to event ⁇ , and agent behavior processing 612, which transform ⁇ display actions into display ⁇ of per ⁇ onae to the student.
  • agent action processing is rule based and event driven. Rules in rules tables 610 are evaluated using parameters both communicated in event messages from the material ⁇ or the ⁇ tudent and retrieved form the ⁇ tudent data object. These rules propose candidate actions and then weigh and select a final set of agent actions from the candidate ⁇ , which are communicated to sub ⁇ equent agent behavior processing 612. Agent processing also sets global variables for materials sequencing and control. A side effect of this processing is the updating the student data object with information from the materials event message.
  • Agent behavior processing 612 constructs an on-screen agent display based on the actions determined in agent action proce ⁇ sing. In a preferred embodiment, this proces ⁇ mg i ⁇ ba ⁇ ed on behavior table ⁇ 613. Utterances, text or voice, and affects are selected from tables based on the determined final actions and refined with parameters included with the actions. The utterances and actions are sent to the selected agent persona object, which creates the agent display of the selected personae using the utterances and effect selected. Data is referenced and updated in the student data object by this processing, in particular fields reflecting the student's agent personalization choices, ⁇ uch a ⁇ the de ⁇ ired per ⁇ onae, and fields reflecting recent agent behavior ⁇ .
  • Al ⁇ o illustrated is communication materials 615. These materials manage and provide resource ⁇ for variou ⁇ group activities, such as student tutoring, group work with particular materials, and group contests.
  • ES software collects together a number of component ⁇ which customize the operating ⁇ y ⁇ tem to the requirement ⁇ of thi ⁇ invention and, if needed, also extend it.
  • ES software implements common and special facilities. Exemplary common facilities include task control, communications, and I/O facilities,- exemplary ⁇ pecial facilitie ⁇ include a preferred animation fa ility and a client logon and startup facility.
  • ES software is built as frontends, wrappers, or extensions to available OS software components. For example, certain facilities can be implemented in C or C++ and directly call OS interfaces, such as the Window ⁇ TM graphics device interface or its extension ⁇ .
  • Other facilitie ⁇ can be built as classes using available implementation language libraries, such as the packages in JavaTM 1.0. Yet other facilities can be provided directly a ⁇ part of software packages, such as the display I/O functions present in commercially available authoring packages .
  • the task control facility manages the startup of system components. First, it verifies that the student is permitted to activate a requested component by checking schedules and priorities with the schedule/calendar tool. Indirectly, the student's agent can be queried to determine if this activation is reasonable. Next, if permitted, this facility manages the loading of required software and data objects from server system ⁇ . Finally, task control then starts up the component by making any neces ⁇ ary OS call ⁇ . Task control also notifies other system components at task terminations.
  • the communications facility manages network communications and provides whatever client-server or file server protocols are not present in the OS. Such protocols might include HTTP V2.0 with URL name resolution.
  • thi ⁇ facility handle ⁇ all remote acce ⁇ reque ⁇ t ⁇ for information including reque ⁇ t ⁇ for downloading and uploading.
  • the I/O facilitie ⁇ includes input and output display handlers for object level display I/O.
  • the display handlers receive object level requests for text, graphics, video and audio and translate them into whatever interface is supported by the OS.
  • the input handler receives low-level inputs from the OS input handlers and processes them according to the current screen format. In certain cases, it can directly call the output handler to perform immediate feedback actions, such as highlighting or dragging an object. In other cases, it can pass I/O event messages in an appropriate format to the system component owning that screen object, for example, the on-screen agent.
  • the output handler receives object presentation specification ⁇ , such as system owner, position, characteristic ⁇ , ⁇ ize, any animation information, and whether the object is an input focus, then updates any necessary screen mapping, and generates OS request ⁇ to display the object.
  • object presentation specification ⁇ such as system owner, position, characteristic ⁇ , ⁇ ize, any animation information, and whether the object is an input focus
  • OS request ⁇ to display the object.
  • An example of such an object specification includes a selectable text field object with specified contents, perhaps ⁇ crollable, di ⁇ played by a particular instructional material.
  • Exemplary specialized ES facilities are animation and client startup. It is preferable that the client sy ⁇ tem ⁇ upport animation, which i ⁇ a connected and timed sequence of display ⁇ potentially calling on all di ⁇ play modalitie ⁇ available, and other timed presentations. Although this invention is adaptable to any suitable animation facility, a preferred facility presents a script based interface.
  • the inputs to an animation facility are scripts which comprise object display commands, the timing of the object di ⁇ play ⁇ , an input ⁇ pecification of how any permitted u ⁇ er inputs are to be handled, and the types of events to be returned to the initiating sy ⁇ tem component.
  • Example ⁇ of display events include user input causing script branching and termination or interruption.
  • the animation facility receives a script from another system component, request ⁇ downloading of nece ⁇ ary di ⁇ play object ⁇ , for example from data ⁇ nip librarie ⁇ , interpret ⁇ the timing ⁇ pecification, and ⁇ end ⁇ reque ⁇ t to the input and output handler ⁇ .
  • the ES ⁇ tartup facility is described herein with respect to a student client to run on a network attached computer. Startup i ⁇ similar for other client system ⁇ , including teacher and instructional designer clients. Each component of the ABI system must be downloaded from a server when needed, if as is typical, no component of the sy ⁇ tem is resident on a client prior to ⁇ tartup.
  • the initial ⁇ tep involves the student accessing any client attached to an ABI network. Accessing can involve as little as powering-on the computer and requesting startup of the system on this client.
  • accessing by a student user begins by acces ⁇ ing the ⁇ erver with the ⁇ y ⁇ tem manager, for example, using a standard intranet browser which can be resident on the client or downloaded by a power-on bootstrap process.
  • the student logs on to the system manager, which then performs authentication, for example, by means such as password or identification card.
  • the system manager downloads and starts the ES
  • the ES then initiates necessary communication sessions, including those with the system servers, and then downloads the session manager software, subtype ⁇ of the student data object, the agent software, and the scheduler/calendar tool software.
  • the session manager presents the ⁇ tudent di ⁇ play m a form depending on student preferences in the student data object and receives input from the sy ⁇ tem area of the display
  • the schedule/calendar in cooperation with the agent then determines what material ⁇ the ⁇ tudent is to be presented with or can select from Finally, the materials data and engine are then downloaded and the substance of the student session commences
  • Presentation ⁇ of personae or merely appropriate coherent response ⁇ can be created from audio and video display objects downloaded from a server and referenced upon demand These display objects, or data snips, can be linked into groups corresponding to the particular presentations Further, these linked groups can include small pieces of code that allow for a branching and interactive short meta-response. Thus, one meta-respon ⁇ e can include opportunities for ⁇ tudent input with the next di ⁇ play object being chosen in respon ⁇ e to that input. Each of these groups is catalogued and referenced as that persona behaving in a particular manner 5.4.3. System Event Processing
  • the ABI System on the student client, and on other clients, is advantageously organized to wait for student and timer input events and then to respond appropriately to these events.
  • This is common current practice for constructing interactive systems.
  • this invention is adaptable t ' o practices that might be developed in the future for constructing interactive systems as long as the principal system components and their mutual interactions as previously described can be represented in such a future practice.
  • thi ⁇ section sequentially describe ⁇ the ⁇ ystem processing of an input event and its consequences from initial input until the sy ⁇ tem wait ⁇ for the next event. This description provides detail of how the ⁇ ystem components communicate with each other and of how information and control flows through the system. More detailed description of the individual components appears in following sections.
  • Fig. 7 conceptually illustrates control flow and event processing in a student client.
  • data at the left of this figure is relevant data,- in the center is proce ⁇ sing steps,- and at the right are I/O events.
  • the arrows in this diagram represent either data references or control flow.
  • the control flow is at times implemented by information bearing mes ⁇ age ⁇ and at other time ⁇ effected by ⁇ tandard ES and OS ⁇ ystem call ⁇ .
  • thi ⁇ figure is directed to the processing of those components that interact with the student's agent.
  • Those component ⁇ , such as the session manager, which do not interact with the agent can be constructed according to standard interactive techniques (see, e . g. , Petzold, 1996, Programming " Windows ® 95. Microsoft Press, Redmond WA) .
  • wait point 701 the system waits for the next student input or timer event.
  • This wait commences at wait points 707, 713 and 717 after the system completes processing of the previous event, or possibly after sy ⁇ tem startup.
  • ES I/O handlers 702 decide whether the event represents an action without significance for other sy ⁇ tem component ⁇ .
  • the event can be a student action causing only the highlighting of an object or a timer event directing an animation.
  • Such events can be entirely processed by the I/O handlers, and ⁇ ystem waiting resumes at 701.
  • the I/O handler ⁇ format it appropriately and communicate ⁇ it to the correct component owning that input object. If the event repre ⁇ ents a time interval set by one of the material ⁇ engines or by the agent, it is formatted and passed to the requesting component. In the case of group work, the event can be generated on a remote computer sy ⁇ tem and tran ⁇ mitted over a network link in order to reach the local I/O handler ⁇ .
  • the I/O handler ⁇ format event message ⁇ into the format expected by the component they are directed to. They include in each me ⁇ age an indication of the type of ⁇ tudent action or time interval along with any input information from the action. One input event can generate ⁇ everal events messages .
  • message ⁇ directed to material ⁇ engine ⁇ 703 are considered first; me ⁇ ages directed to agent action processing 711 are considered second.
  • Fig. 7 illu ⁇ trates two materials engines, one engine or more than two engines are pos ⁇ ible on a system from time to time. Regardless of the number of materials engines present, event messages are communicated to the correct engine.
  • the material ⁇ engines 703 process a plurality of read-only materials data 704 representing instructional materials, tools, and communication materials. As indicated by arrow 725, these engines also access control information determined by agent action processing 711. This control information can be accessed in any convenient manner, such a ⁇ by an exchange of messages or by referencing parameters stored in a shared memory region. This information controls the materials engines at educationally significant points during their materials presentation.
  • materials engines 703 can also acces ⁇ remote databa ⁇ es 705 and other remote resources available through the sy ⁇ tem network.
  • the engines use these two sources, and optionally three sources, of input to cause presentation 706 to the student of, for example, an instructional lesson, a homework exercise, an instructional tool, or a joint educational contest.
  • This presentation uses the I/O handler of the ES and OS to generate actual student display.
  • the materials engines also generate message ⁇ directed to agent action processing 711.
  • notations m the materials cause the engines to format a mes ⁇ age to the agent
  • the ⁇ e me ⁇ ages also include an indication of event type and relevant data, perhaps including timing data
  • One student input can generate several agent messages.
  • the system can wait again for the next ⁇ tudent action at wait point 707 if the previou ⁇ ⁇ tudent action had either no input significance for the materials or agent or no educational significance for the agent
  • agent action proce ⁇ sing 711 is activated
  • this processing is table based Rules from policy filter table 708 are evaluated in view of the data included m an incoming event mes ⁇ age and in view of data on the student' ⁇ past performance and the student' ⁇ pedagogic model in ⁇ tudent data object 712. For example, comparisons with student history are needed to determine re_at ⁇ ve performance These rules propose candidate agent action ⁇ .
  • rules in decision weight table 709 and m selection criteria table 710 filter the proposed actions into a final list of agent actions.
  • These final actions can cause the update of the information in student data object 712 with data on the student' ⁇ current performance and behavior, as indicated by double headed arrow 728 They can also make available control information for the materials, as indicated by arrow 725.
  • the actions can include display actions for causing visible agent behavior.
  • Agent behavior proce ⁇ sing 716 processes the final list of display actions communicated from agent action processing 711 in view of utterance tables 714, display behavior tables 715, preferences and the record of recent agent behavior in student data object 712 in order to generate a coherent display of the on-screen agent personae reacting to the previous actions.
  • the final actions select utterance templates which are completed with parameter ⁇ contained in the action ⁇ .
  • the per ⁇ onae from the di ⁇ play behavior table ⁇ elected according to the student preferences use these complete utterances to generate display object ⁇ , and perhaps animation script ⁇ or applet ⁇ , which are sent to the I/O facilities of the ES for final display 718.
  • Agent behavior proces ⁇ ing also updates the student data object with information concerning this current behavior.
  • the system now waits at wait point 717 for the next ⁇ tudent action or time interval .
  • the material ⁇ have a uniform ⁇ tructure, being defined by material ⁇ data which i ⁇ u ⁇ ed by the materials engine to appropriately generate display ⁇ and perform functions. This uniform structure permits a uniform handling of the interface between all the materials and the agent.
  • certain tools and the group communication materials can be advantageously separately implemented as separate programs that themselves maintain the necessary agent interface. Such certain tools include a calculator, a dictionary, an encyclopedia, and group communications.
  • each in ⁇ tructional material could be a separate program that also maintained the necessary agent interface.
  • This section first describes the general structure of the instructional materials and then describes the tools typically available on an ABI sy ⁇ tem.
  • a common material ⁇ engine interpret ⁇ ⁇ pecific material ⁇ data to perform instructional and tools functions. These are described with reference to instructional materials with adaptations needed for the other materials noted.
  • the materials data includes three principal sections for presentation items, sequencing logic, and notations.
  • the presentation items include whatever is displayed, preferably represented as display objects, which can be parametrized. These display object ⁇ can be packaged with the materials data or can be downloaded from a server on demand.
  • the notations contain additional data related to the materials display. These include, for example, prerequi ⁇ ite ⁇ , link ⁇ to related material, expected student performance, and help and hints.
  • the notations are preferably generated from template ⁇ referencing parameter ⁇ from the material ⁇ data and ⁇ tudent performance input ⁇ .
  • the material ⁇ engine u ⁇ e ⁇ notations to generate messages to the agent, which comprise one part of the agent interface.
  • the sequencing logic i ⁇ executable or interpreted code that animate ⁇ the particular material ⁇ . It reference ⁇ all data in the particular material ⁇ to cause the ordered display of the presentation items and to send mes ⁇ age ⁇ to the agent according to the notations.
  • the material ⁇ data i ⁇ advantageou ⁇ ly grouped into entrie ⁇ , each entry representing a minimum item of presentation, which can, however, involve several screens. These entries are preferably specialized at least into a header or initialization entry and the other entries.
  • Table 2A illustrates a typical materials header entry which is the first entry processed when the materials are initialized.
  • the sequencing logic for the header frame consi ⁇ ts largely of definitions of variables and function ⁇ .
  • the global variable ⁇ are ⁇ hared 5 between system components and include the control variables that the agent set ⁇ and that the ⁇ equencing logic references and te ⁇ t ⁇ in order to be guided by agent control. These variable ⁇ , which compri ⁇ e another part of the agent interface, for example, can control the time pacing of Q instruction, the new concept seeding rate, the density of new exampler, the time pacing, or the difficulty of discriminations .
  • Local variables are available to the sequencing logic during materials processing.
  • Global functions are those global system functions that can be 5 called by the sequencing logic. Also, dictionary lookup, spell checking, or encyclopedia lookup can " be globally implemented and shared.
  • the global functions can be DLLs.
  • local functions are available locally to the sequencing logic.
  • computation ⁇ can be local function ⁇ .
  • in ⁇ tructional material ⁇ the local functions are available for checking user inputs for correctness, scoring quizzes, and so forth.
  • the notations in the header entry generate materials initialization messages to the agent. These mes ⁇ ages inform the agent about these materials, about what global variables they respond to, about what helps, hints, and tools are useful, and importantly about the educational paradigm the materials use. Preferably, information about this paradigm is structured according to the instructional materials interface standard. See infra .
  • the notations can also contain additional information, such as prerequisite ⁇ for the whole material ⁇ and references to other material ⁇ and text ⁇ .
  • the pre ⁇ entation item can be, for example, an introductory ⁇ creen.
  • Table 2B illu ⁇ trate ⁇ a typical entry which is proces ⁇ ed during regular material ⁇ pre ⁇ entation.
  • the presentation items are those for the materials display.
  • the sequencing logic causes this display in view of the variables and other information in the materials data and any student input.
  • the notations result in agent message ⁇ reporting changes in any parameter ⁇ set at initialization, ⁇ tudent performance data, ⁇ tudent error ⁇ , and other educationally significant information.
  • the notations can also contain information specific to thi ⁇ frame, such as expected difficulty and timing.
  • the materials engine its first processing step is to request the executive software to download the requested materials data from the instructional materials server. It next processes the header entry, links to global variables and function ⁇ , and sends initialization event mes ⁇ age ⁇ to the agent.
  • pre ⁇ entation begin ⁇ it interprets or calls for execution the ⁇ equencing logic on the fir ⁇ t frame. From this frame it proceeds to activate other frames as directed by the sequencing logic.
  • the materials proce ⁇ ing end ⁇ any termination me ⁇ sages as directed by the notations are sent to the agent and the materials are deleted from the client.
  • the material ⁇ are all implemented ⁇ imilarly. Most differences between the instructional materials, tools, and communication material ⁇ are in the presentation items and the ⁇ equencing logic, including different global and local entities. All materials are expected to have notations for generating agent mes ⁇ age ⁇ that record materials initiation and termination and ⁇ tudent performance and error ⁇ . Preferably thi ⁇ information i ⁇ reported in a standardized manner according to an in ⁇ tructional material ⁇ ..nterface ⁇ tandard. See infra .
  • the ABI system is adaptable to a wide range of necessary and optional student and teacher tools tailored to the students and the courses of instructions.
  • the following preferable tools include certain general tools and the communication, or joint work, material ⁇ .
  • other tools can be preferable.
  • the schedule/calendar tool participates in permitting access to materials according to ⁇ tudent ⁇ chedule and is preferably found in all embodiments.
  • the discus ⁇ ion in the section is directed to an implementation for elementary education. It is not limiting in the tools that can be used in an implementation.
  • the general tools are preferably present in a range of forms selected according to data in the student data object, including grade level, and teacher permissions.
  • One general tool is a calculator, which can have forms varying from a simple four function calculator to a complex graphing calculator.
  • Other general tools include language tools, such as a spelling checker, a thesauru ⁇ , a word pronouncer, an encyclopedia, and a dictionary. Different level ⁇ of each language tool can be provided suitable for different grade levels.
  • the language tools can be integrated with a " ⁇ tarfi ⁇ h” tool, which allows the user to place the center of a "starfi ⁇ h” over a particular word, and then, by ⁇ electing the appropriate arm of the ⁇ tarfi ⁇ h to obtain the definition, a pronunciation of the word, a rhyming word, a ⁇ ynonym, or an antonym.
  • Another general tool is a word proces ⁇ or, perhap ⁇ with a drawing mode which can be provided a ⁇ a multi-level set of writing and drawing tools. The writing and drawing capabilities available to a student are selectable by the student or teacher.
  • a last general tool is a link-maker, which offers exercises in various types of memorization, such as paired c.ssociate ⁇ , serial learning, ordered serial learning, and mnemonics.
  • additional tools can be added to an implementation to meet specific educational needs. For example for geography lessons a map tool can be added. For student projects, an encyclopedia tool and a network search tool can be added. The Study BuddiesTM can provide instruction in operation of the tools ⁇ uch a ⁇ the use of keywords and operators. Specialized tools can be added for commercial or industrial training.
  • full view of and access to the sy ⁇ tem provided file ⁇ y ⁇ tem can be a disadvantage. Consequently this invention contemplates, providing a file system front end, or file system tool, that limits the student' ⁇ view of and access to the system file system.
  • This particular tool is advantageously implemented a ⁇ part of the ses ⁇ ion manager and not a ⁇ a material. With that implementation, customized iconic file representations are managed as part of the ⁇ y ⁇ tem area of the di ⁇ play.
  • One embodiment of ⁇ uch a file ⁇ y ⁇ tem tool pre ⁇ ent ⁇ a four level file system organized into shelves of books, each of which has section ⁇ , the sections having pages.
  • a book representing a directory of files is opened when a student user select ⁇ it ⁇ icon.
  • the ⁇ tudent navigate ⁇ around the directory book by ⁇ electing tab ⁇ or by moving page by page, by selecting nextpage, lastpage, or other buttons.
  • the student interacts with selected pages, or files, of the book, possibly creating new pages and sections.
  • the student can also close the book. For most needs of elementary purposes, a single shelf with a few prespecified book ⁇ i ⁇ adequate. More advanced students can be given permission to create and use multiple shelves with new books and to cut and paste pages and sections from book to book.
  • a page of a book, a file is preferably presented with the materials that proces ⁇ it.
  • materials that proces ⁇ it For example, u ⁇ er-created text or giaphics pages appear with the word proces ⁇ or active. Homework and instruction pages appear with the appropriate materials . 5.5.2.3.
  • the schedule/calendar is an important tool and is preferably always present. It is accessed when the ABI sy ⁇ tem initiates materials to verify the student is permitted and ⁇ cheduled for thi ⁇ material, and al ⁇ o invoked when the ⁇ y ⁇ tem terminate ⁇ materials to schedule new materials. It is accessed as a global function by the agent in response to a meta-request from the student seeking scheduling as ⁇ i ⁇ tance. Further, it can be directly acce ⁇ ed by the ⁇ tudent using the calendar tool icon appearing on the student desktop. When accessed, this tool displays a calendar book to the student, viewable in several ways .
  • the schedule/calendar data is a subtype of and contained in the student data object.
  • thi ⁇ data include ⁇ the following field ⁇ for each ⁇ cheduled ⁇ tudent activity:
  • Deadline date and time or a definition of a perpetual activity, which has periodic requirements but no completion date,- Link to material for the activity which in turn can specify activity completion criteria; for activity of a single student this is typically a particular instructional material; for group work activity a list of the students for the group and other communication information can also be in the calendar entry,-
  • Activity characteristic ⁇ for example whether thi ⁇ wa ⁇ entered by the student or teacher and whether this is to be marked complete by the student or system,- Activity status, completion statu ⁇ and ⁇ ubmission ⁇ tatu ⁇ of any required report ⁇ .
  • Thi ⁇ exemplary data, ⁇ ufficient to define a ⁇ cheduled activity, can alternatively be entered by the teacher or by the student. If entered by the teacher, it can be protected from modification by the student. Data entry is preferably as ⁇ i ⁇ ted by a teacher tool with a suitable screen format. Optional activities can be entered by the student if the teacher permits.
  • the schedule/calendar tool can be directed by the teacher to permit the student a range of scheduling initiatives. These initiatives can range from permitting the student freedom to schedule materials as desired to requiring the schedule/calendar tool to enforce a fixed order of student activities. In a preferred embodiment this is accomplished by the teacher's specifying initiative parameters including a deadline date/time, D, and a criterion priority, P, in the student data object. The schedule/calendar then schedules automatically all tasks with deadline less than or equal to D and with priority level greater than or equal to P. By varying D and P with respect to scheduled tasks the teacher can achieve the specified range of initiative ⁇ . Schedule/calendar proce ⁇ ing can be invoked by the executive software, by the student, or by the agent.
  • the executive software invokes schedule/calendar tool, fir ⁇ t, to mark the terminated ta ⁇ k complete, and then, to reference the calendar data in view of the initiative parameter ⁇ to find activitie ⁇ requiring ⁇ cheduling. If thi ⁇ tool find ⁇ only one activity in the calendar requiring scheduling, thi ⁇ required activity i ⁇ initiated. If multiple required activitie ⁇ are found, the tool can, alternately, initiate the required activity of highe ⁇ t priority or allow the student a choice of which required ta ⁇ k to initiate. If there are no required activities, the schedule/calendar tool allow ⁇ ⁇ tudent selection of the next task via the session manager.
  • the schedule/calendar tool can be invoked by the student by selecting the schedule/calendar icon in the system area of the display. When so invoked, the tool displays the student calendar and scheduled activities in various formats from a monthly overview to details of individual activities. If permitted, the student can enter optional items or mark items complete.
  • the schedule/calendar tool can al ⁇ o be invoked by the agent when it receives a student meta-request of the type "What do I do next?" The agent retrieves the required and scheduled activities from this tool and al ⁇ o determines an expected time to complete each task based on student performance from the student data object and the average time required for each task from the materials header. In view of this combined information, the agent can present to the student an ordered list of activitie ⁇ ⁇ cheduled according to their expected time to complete.
  • the ABI ⁇ y ⁇ tem includes communication, or group work, materials integrated with the remainder of the sy ⁇ tem.
  • a ⁇ for other tools and materials, access to communications materials is granted by the scheduler/calendar tool .
  • Communication work groups are assigned and scheduled in students' calendars with calendar entries preferably including the group members names and other communication parameters. When these materials are activated by the scheduler, the communication group is begun.
  • ⁇ tudent ⁇ can ⁇ pontaneou ⁇ ly reque ⁇ t the formation of a communication group by the selection of a communication material.
  • the scheduler/calendar tool can permit group activation if the ⁇ tudent ⁇ have no other required activitie ⁇ .
  • each particular communication material can also have specific acce ⁇ s controls preferably set by the teacher that control the types of communication permitted and with whom the communications is permitted.
  • the communication materials have an agent interface. Upon activation, they send initialization event messages to the agent specifying the global control variables they will be sensitive to, the educational paradigm adopted, and available hints, helps, and other communication parameters.
  • the instructional materials interface ⁇ tandards include special categories for communication based work that enable the agent to control these material ⁇ with specificity. During communication work, these materials generate event messages at educationally significant points. Thereby, communication materials are fully integrated into an ABI embodiment. Further, in a preferred embodiment, communication materials are implemented in a manner similar to other materials.
  • each communication material has a particular communication ta ⁇ k specific for that communication material or form of group work.
  • the communication task manages the network interface for that particular type of communication or group activity by using the network protocols provided by the OS and ES, and provides its communication functions as global functions for access through an ABI system.
  • these function ⁇ are made available to the student in a manner similar to other materials through particular materials data that includes presentation items, sequencing logic referencing these global communication functions, and notations generating event message ⁇ for the agent.
  • the communication materials can be programs, independent of the material ⁇ engine and perhap ⁇ part of the associated communication task, which internally generate the necessary agent event messages.
  • communication material ⁇ tasks can be written either in the ABI implementation languages, or in a special purpose communication scripting language.
  • the particular communication materials in a preferred embodiment provide forms of group work or communication including e-mail or message exchange, linking student groups for joint work on materials, and ⁇ tructured joint work ⁇ uch as contests with rules .
  • group work or communication is described in the remainder of this section.
  • a first form of group work implemented by communication materials is E-mail and newsgroups. These are useful for teachers to send information to their classes, such as schedule and materials changes and to communicate with absent students. Teachers can also exchange information with each other or obtain help for system and other issues. Students can use this form to obtain help and advice, especially from remote sources, communicate with their teachers, and share work or interests with other ⁇ tudent ⁇ . E-mail and newsgroups are easily incorporated as previously discussed.
  • Student linking i ⁇ another form of group work implemented by communication material ⁇ can link together for various exemplary activities including simply talking with each other by voice or text or for joint work on a particular material in which the students have either similar roles, as in developing a document using a word processor, or different roles, as in a simulation or game.
  • Another activity of linked student ⁇ include ⁇ group activities, in which position of participants within a virtual environment determines activity and role within activity.
  • student linking includes the following steps.
  • the first step is identification of other students with whom a given student can link.
  • the group can be defined by the teacher in the schedule/calendar entry for this activity, or alternatively, in a communication access control particular to this linked work activity.
  • links must be e ⁇ tabli ⁇ hed between the ⁇ tudent ⁇ to be linked. These links can be to a single server communication materials task that receives and distributes mes ⁇ ages.
  • Third, local and global actions must be determined. Local actions are those that result in output visible only to the user taking the action. Global actions are those that result in output visible to all the student ⁇ in the linked group. These global actions can include communicating each student' ⁇ input to all linked ⁇ tudent ⁇ , sharing information among all linked students, jointly creating information by student ⁇ in the linked group, and ⁇ toring jointly created information.
  • the fourth step in linking is orderly disconnection from the linked group.
  • Linking can be implemented in alternative fashions.
  • the communications tools and materials for linked activities are integrated with the other components of an ABI ⁇ y ⁇ tem in one of the way ⁇ previously described.
  • a simple implementation is to provide on each student's screen an icon and a message area for each linked student. Alternatively, one or more shared materials areas can be provided. Communication can be di ⁇ tributed through a single server task to which all linked ⁇ tudent ⁇ connect.
  • a more advanced implementation of linking employ ⁇ ⁇ oftware package ⁇ ⁇ imilar to multi-u ⁇ er dungeon ⁇ (“MUD ⁇ ") , which contain a collection of virtual shared traversable ⁇ pace ⁇ (called "room ⁇ ”) in which users can interact either with each other or with elements within the room.
  • MOD ⁇ multi-u ⁇ er dungeon ⁇
  • MUD ⁇ are especially preferable for student group work in which different student ⁇ have different role ⁇ with access to different ⁇ y ⁇ tem capabilitie ⁇ .
  • one ⁇ tudent can be a recorder, having write-acce ⁇ to the group's notebook, while another can be the database expert, having access to a body of relevant data.
  • MUDs are also be useful for teachers, communicating with each other within 'rooms' each set aside for a specific topic and forming a dynamic newsgroup.
  • Important example ⁇ of ⁇ tructured linking in which the students have different or structured roles are educational contests.
  • the server spelling bee task initiates a spelling bee by accumulating connections with students local spelling bee tasks, then mediates the spelling bee by controlling ⁇ tudent action ⁇ , and provide ⁇ for orderly termination of the spelling bee.
  • the local ⁇ pelling bee ta ⁇ ks provide the communication function ⁇ acce ⁇ ed or required by the ⁇ pelling bee materials data, which are scheduled or selected to invoke ⁇ pelling bee participation, on the client ⁇ ystems. These materials also send event mes ⁇ age ⁇ to the agent and are controlled by the student's agent.
  • the local spelling bee tasks can be programmed to communicate with the agent and perform the spelling bee without materials data.
  • the spelling bee task ⁇ carry out the following ⁇ tep ⁇ .
  • the ⁇ pelling bee ⁇ erver ta ⁇ k i ⁇ started at a teacher's request or automatically by the ⁇ y ⁇ tem.
  • a li ⁇ t of eligible ⁇ tudent ⁇ can be ⁇ elected by the teacher or automatically determined by the ⁇ erver task based on data in the student data objects, including class membership and a stated interest in ⁇ pelling bee ⁇ .
  • the ⁇ pelling bee activity can be scheduled for each individual student by the teacher or selected by the student. If a student desire ⁇ to enter the ⁇ pelling bee, the local spelling bee ta ⁇ k i ⁇ started by the ES and a message is returned to the s.erver. No re ⁇ pon ⁇ e within a ⁇ pecified amount of time is taken as indicating a desire not to join.
  • a student's data object shows that this is the first time in a spelling bee
  • an instructional and warm-up sequence can be authorized for the student by the agent in the server task. If enough eligible ⁇ tudent ⁇ join the spelling bee, the server task continues, otherwise it sends a termination message to those who have joined and terminate ⁇ .
  • Each local spelling bee task obtains space on the student display indicating the other players and their inputs. Next the spelling bee begins, and the server task broadcasts the word to be spelled selected from a graded word list and the name of user to spell the word.
  • Each local task echoes the word sent, preferably by requesting the on-screen agent voice the words as utterances with an appropriate affect.
  • the spelling bee materials inform the student's local agent of the student' ⁇ progre ⁇ and performance in the spelling bee materials.
  • the server task accepts input from designated user's local task and broadcasts it.
  • the server task judges and reports on correctne ⁇ s of completed responses and, if incorrect, eliminates the student from further spelling request ⁇ .
  • a ⁇ student leave the spelling bee the server task is notified and ⁇ end ⁇ messages to the local tasks of continuing players in order to update their workspaces.
  • the student preferences for further spelling bees are checked and preference data in the student' data object i ⁇ updated.
  • the server spelling bee task terminate ⁇ the game and reports result ⁇ .
  • the agent i ⁇ an important component of thi ⁇ invention and i ⁇ further de ⁇ cribed in thi ⁇ ⁇ ection with reference to the ⁇ tudent data object, the agent interface, agent proce ⁇ sing, and agent adaptivity.
  • the agent comprises the student data object which contains data on the student' ⁇ performance on the variou ⁇ material ⁇ and data on the ⁇ tudent' ⁇ pedagogic model.
  • the ⁇ tudent data object i ⁇ referenced and updated by other components of the system, for example, for report generation and for student scheduling.
  • Other system components preferably have an interface to the agent in order that the agent can control the materials and guide the student in a uniform manner.
  • Agent processing is divided into two phases, agent action proces ⁇ ing and agent behavior proce ⁇ ing. Finally, agent adaptivity in the preferred and in alternative embodiment ⁇ i ⁇ de ⁇ cribed. 5.6.1. Student Data Object
  • One student data object is created for each ⁇ tudent in the ABI ⁇ y ⁇ tem and is the only permanent repository of data concerning that ⁇ tudent.
  • the student data comprises fixed data defining the student as well as evolving data describing .:he student' ⁇ interaction with the system, the latter _ncluding current and past performance and data defining the agent's view of the student.
  • the student data object is stored on the server ⁇ ystem and is the source on the server system for all teacher and administrative reports concerning that student. Elements of the student data object are fetched to a client system as required once its a ⁇ sociated student logs on to that client and on that client ⁇ erve ⁇ to control the agent and provide for agent adaptivity. Figs.
  • FIGs. 10A, 10B and 11 illustrate the structure and operation of the student data object.
  • Figs. 10A and 10B conceptually illustrates an exemplary structure for student data object 1101. It is an object compri ⁇ ing ⁇ tructured student data 1102 and methods 1103 for acces ⁇ ing and updating the ⁇ tudent data.
  • Student data is divided into global data 1104, materials related data 1105, including tool related data 1106, current lesson data 1107, and log data 1108.
  • Global data that is all items meaningful across all ABI materials, includes such subtypes as sy ⁇ tem data, agent behavior preference data 1109, agent ⁇ tudent model data 1110, and ⁇ chedule data 1111.
  • Agent behavior preference data 1109 relate ⁇ to the multi-modal behaviors generated by the agent and includes student defined preferences for these behaviors as well as a summary of past agent behaviors.
  • Student preferences can include options relating to agent visual appearance - species, gender, dres ⁇ , or perhaps, no visual appearance - and similar options relating to audio behavior and text production.
  • the summary of past agent behaviors is used to aid in the selection of reasonably varied future multi-modal behaviors.
  • Agent student model data 1110 include ⁇ item ⁇ modeling the student's persistent behavior which the agent use ⁇ to individualize it ⁇ interactions with the student. Such data items can include material retention rate, hint effectiveness, and preferred rewards.
  • schedule data 1111 relate ⁇ to a ⁇ signment ⁇ ⁇ cheduled by the teacher and unchangeable by the ⁇ tudent and optional item ⁇ ⁇ cheduled by the student.
  • Data for each schedule item can include due dates, reminder alarms, and priorities.
  • this data subtype includes ⁇ tandard and criteria data, u ⁇ ually set by the school sy ⁇ tem, which include objective ⁇ and ⁇ tandard ⁇ the student must meet in the particular course, milestone data establi ⁇ hing objective ⁇ already met by the ⁇ tudent, data relating to the ⁇ tudent' ⁇ progress in the materials, data relating to the student's use of tools in the materials, and performance data.
  • Progres ⁇ data include ⁇ data nece ⁇ sary for the student to leave the material ⁇ and resume the materials at the prior point.
  • Performance data 1112 relate ⁇ to student's performance over several les ⁇ on ⁇ in the material ⁇ and can include mean performance, weighted moving average ⁇ of performance, pattern ⁇ of performance, u ⁇ e of hint ⁇ , use of retries, and needed remediation. Using such performance data, for example, means and weighted moving average ⁇ , permits the agent to determine whether ⁇ tudent performance i ⁇ improving or declining.
  • Tool data 1106 contains essentially similar but more abbreviated data about use of system tools such as the calculator, dictionary, and word processor. This data can only include milestones and performance information. The status of each lesson presented by instructional materials is accumulated in current lesson data 1107. This subtype is created upon lesson initiation and deleted upon les ⁇ on completion.
  • the agent includes short term measures of performance - such as error rates, weighted moving averages of error rates, and the use of hints and retries - short term measures of time latency - such as time to complete les ⁇ on ⁇ egment ⁇ and weighted moving average ⁇ of such times - work areas in which the agent can store information particular to the instructional materials - such as parameter ⁇ to u ⁇ e in forming multimedia presentations - and lesson coaching parameters 1113.
  • the lesson coaching parameters are used by the agent to provide feedback to the instructional materials so that their presentation can be individualized according to student performance. These parameters are governed by the instructional modalities employed by the particular in ⁇ tructional materials and can include values such as the seeding rate of new concepts, time pacing of the presentation, the density of examples, and the ratio of reinforcement .
  • the student data object has links to ⁇ tudent log 1108.
  • the log stores all mes ⁇ age ⁇ input to agent proce ⁇ ing and all action ⁇ from agent behavior processing. It can be used to create detailed audits of student behavior and system respon ⁇ e ⁇ , which can be of intere ⁇ t to in ⁇ tructional designers, in order to improve instructional materials, and to educational researcher ⁇ , in order to develop new modalitie ⁇ of instruction. With its carefully partitioned and functionally defined interface ⁇ , the ABI ⁇ y ⁇ tem i ⁇ ea ⁇ ily adaptable to new modalities of instruction as well as to merely installing new materials.
  • the ⁇ tudent data object also includes one or more data updating methods and one or more data accessing methods.
  • Exemplary updating method 1114 includes two components, triggering event type 1115 and action list 1116.
  • a component of agent processing updates the student data object, it sends a message to the object including an update event type and a list of relevant parameter ⁇ .
  • the updating methods are searched to find one with a triggering event type which matches the event type of the update event.
  • the one or more methods having matching event types are then executed by performing all the actions in the included action list using the parameters in the update event message.
  • Each action use ⁇ the supplied parameters to update data elements in the student data object.
  • a plurality of actions is generally associated with each method because it is typical for one event to cause changes in several student model data elements.
  • an update event related to the use of a tool cause ⁇ change ⁇ in the relevant tool data ⁇ ubtype a ⁇ well a ⁇ the associated instructional material subtype.
  • the method ⁇ executed appropriately ⁇ ummarize ⁇ tudent data from the current lesson ⁇ ubtype into all the permanent data subtypes.
  • parameters such as 'hint effectivene ⁇ ' in the agent ⁇ tudent model data 1110 are also updated.
  • One of the method ⁇ associated with the event type 'end of lesson' updates the parameter 'hint effectivene ⁇ ' in the following exemplary manner.
  • the performance parameter 1120 'u ⁇ e of hints' is accessed to determine if update is required. If hint ⁇ were provided to the ⁇ tudent, the 'current le ⁇ on log' 1108 i ⁇ used in calculating the two components of the parameter 'hint effectivene ⁇ ' - 'hint effectivene ⁇ -before-fir ⁇ t-try' and 'hint effectivenes ⁇ -after-fir ⁇ t-try' .
  • the ⁇ e two components each hold an array of values which are used to compute a weighted moving average.
  • a more complex formulation of this parameter can be used to provide a more detailed analysis of hint effectiveness - each of its two component ⁇ can be ⁇ eparated into ⁇ ubcomponents corr ⁇ sponding to subject area, hint types and other instructionally u ⁇ eful measures . It is further preferable, for data elements comparing a particular student to clas ⁇ peer ⁇ according to variou ⁇ mea ⁇ ure ⁇ be entered into the ⁇ tudent data object. Thi ⁇ can be done by executing appropriate update methods on the server system where such comparison data is available from reports generated from the student database including all the student data objects.
  • Fig. 11 is an exemplary illustration of how a typical student action update event updates the student data object.
  • Other update events include agent action update events.
  • Update message 1201 is ⁇ ent 1206 to the student data object from a component of agent processing to cause student model update.
  • the update event type is "exercise_done" and exemplary a ⁇ ociated parameter ⁇ are a ⁇ indicated at 1202.
  • “exercise_done” is executed by performing the four associated action ⁇ .
  • the fir ⁇ t action update ⁇ relevant data element ⁇ in tool data ⁇ ubtype 1106.
  • the ⁇ econd action update ⁇ the log 1108, a ⁇ i ⁇ done for all event ⁇ .
  • the third action update ⁇ timing latency data element ⁇ 1205 in current lesson ⁇ ubtype 1107.
  • the fourth action updates student performance data elements 1204 in current lesson subtype 1107.
  • Any component of the ABI sy ⁇ tem needing to determine the value of particular data element in the ⁇ tudent data object does so by sending an inquiry mes ⁇ age to the student data object requesting the desired data element.
  • the inquiry method for that data element retrieves and then returns the desired value.
  • Such inquiries are typically made by the agent on the student client sy ⁇ tem and by inquiry and report generating programs on the server systems .
  • the structure of the interface between the agent and the materials is important in the ABI system. It permits a single agent to control a wide range of materials through which it guides a ⁇ ingle ⁇ tudent. The agent achieves this by advantageou ⁇ ly maintaining a model of the student's pedagogic characteri ⁇ tic ⁇ , which it reference ⁇ in diver ⁇ e ⁇ ituation ⁇ to determine its actions.
  • This section describes the general procedural structure of this interface, and second, describes the preferred model for the content of the interface. This preferred model is structured according to the instructional material interface standard (herein called "IMIS")
  • IMIS instructional material interface standard
  • Event ⁇ containing parameter ⁇ are ⁇ ent to the agent by the material ⁇ at educationally significant occurrences.
  • the agent set ⁇ global parameter ⁇ controlling the materials and returns messages confirming actions proposed by the materials.
  • the materials In circumstances in which the materials needs to coordinate display ⁇ with the agent, it communicates synchronou ⁇ ly with the agent. For example, when the ⁇ tudent requests help or a hint, the materials can need to synchronou ⁇ ly obtain the agent's permission to offer the help or hint. In other circumstances, the materials can asynchronou ⁇ ly ⁇ end informational message ⁇ to the agent.
  • Such a ⁇ ynchronous agent input and pos ⁇ ible output can give the ⁇ y ⁇ tem the appearance of ⁇ pontaneity.
  • the agent/material ⁇ interface can be implemented in any convenient manner in a given OS. For example, it can be built on explicit me ⁇ aging, ⁇ hared memory area ⁇ , procedure call ⁇ to a ⁇ ocket interface, or other technology.
  • the global parameter ⁇ ⁇ et by the agent and which control the material ⁇ are preferably ⁇ tate variable ⁇ that the materials sequencing logic references in order to make educationally significant sequencing decisions.
  • the meanings of state variable ⁇ to which a particular material is sen ⁇ itive can be e ⁇ tablished at materials initialization according to specifications in a header material ⁇ data entry.
  • Examples of ⁇ uch variables range from simple flags, such as tho ⁇ e controlling the availability of help ⁇ and hint ⁇ , to more ⁇ ophisticated parameter ⁇ , ⁇ uch a ⁇ tho ⁇ e controlling the rate of new concept introduction, the den ⁇ ity of examples, or the speed of di ⁇ crimination exercises .
  • a notation includes an event type, parameter ⁇ a ⁇ ociated with the event, and the condition under which the event i ⁇ con ⁇ tructed and ⁇ ent.
  • Notation ⁇ are activated when they are encountered in sequencing logic in the materials data.
  • Notations vary according to the materials. Some materials, such a ⁇ simple e-mail, can contain no notations. Tool materials can contain notations indicating only correct or incorrect use of the tool. Mo ⁇ t instructional materials data contain several types of notations. Generally, the events generated by these notation ⁇ ⁇ end information ⁇ imilar to the following: number of retrie ⁇ , mea ⁇ ure ⁇ of rate in fluency drills, measures of performance such as percent correct and the number of tries, partition of exercise items into similarity set ⁇ , and mea ⁇ ure ⁇ of the relative difficulty of item ⁇ .
  • Table 2C illustrates exemplary types of notations generated by typical instructional materials.
  • IMIS in ⁇ tructional material ⁇ interface ⁇ tandard
  • the material ⁇ adopt one of a limited and defined set of educational paradigms contemplated in the standard.
  • the rules referenced by the agent in its a ⁇ ociated proce ⁇ ing tables and performance data in the student data object be similarly structured.
  • IMIS provide ⁇ the agent with a materials independent view of the student .
  • IMIS is not limited to a particular set of educational paradigms . Any standard set or set ⁇ of paradigms appropriate to the intended student ⁇ can be adopted for the interface standard. It i ⁇ preferable that the ⁇ tandard ⁇ adopted be ba ⁇ ed on principles of educational psychology and sound educational practice. In the following, thi ⁇ invention i ⁇ de ⁇ cribed according to an IMIS appropriate for elementary education. The paradigm ⁇ de ⁇ cribed below are not limiting.
  • Each of these educational paradigms is preferably handled differently by the agent in respon ⁇ e to differing de ⁇ criptive information and student performance data. For example, a sequence of correct respon ⁇ es in a fluency exercise is expected. On the other hand, a sequence of correct respon ⁇ e ⁇ in a paired a ⁇ ociates exercise can be worth while for the agent to comment on.
  • IMIS standardize ⁇ the ⁇ e educational paradigms according to three pieces of information: the instructional context, the instructional format, and most ⁇ pecifically, the ⁇ ubject area.
  • Materials nctations ⁇ hould preferably specify all pieces for maximum agent flexibility, although the ABI system is adaptable to the materials specifying any number or none. If none are specified, agent actions are independent of the educational paradigm.
  • the instructional context is the specific mode of instruction being presented to the student by the materials. Examples of instructional contexts are:
  • material ⁇ can adopt in ⁇ tructional format ⁇ , the second component of the IMIS specification.
  • instructional formats are:
  • student performance should preferably be stored relative to the subject area being worked on, as necessary -_ for course level reporting.
  • the third component of the exemplary IMIS is the subject area, such as mathematics or reading.
  • IMIS standardize ⁇ system tables and data relevant to agent action processing according to this triple of information -- instructional context, instructional format, subject area -- which characterize the education paradigm adopted by the materials.
  • 0 material adopts one of the standard set of educational paradigms, or modes of instruction.
  • the parameter ⁇ to be pa ⁇ ed to the agent in an event me ⁇ age are determined by the instructional context and each instructional format of thi ⁇ paradigm.
  • c Tne following table contain ⁇ an exemplary ⁇ equence of notations for a "prerequisite ⁇ review” education paradigm, and the parameters relevant to agent action processing that each notation send ⁇ to the agent.
  • Instructional Context Type Prerequi ⁇ ite ⁇ Review Sequence Entry Unit Name: Selecting Gender Pronoun ⁇ Header Subject Area: Grammar Average Time: 5 minute ⁇ Number of Exerci ⁇ e ⁇ .- 8
  • Exercise 1 Entry Format Type Multiple Choice Header Number of Option ⁇ : 2 Difficulty: 0.3 Hint: Available
  • Exercise k Entry Format Type Fill in Blank Header Subformat : Select from Words in
  • An aspect of these notations is to provide information about the quality of the ⁇ tudent response, which, in this example, is given by the a priori probability of a correct answer. For example, ⁇ electing the correct response from two choices has an a prior probability of 0.5 if the choice is made at random. Filling in a blank correctly is le ⁇ s likely by chance, if no cuing is provided in the exercise.
  • notations containing the parameters associated with a given instructional context and a given instructional format can be stored as templates in libraries Notations are available in the ⁇ e librarie ⁇ to generate necessary messages at materials initialization and during material ⁇ proce ⁇ ing. An instructional designer then need only consult these libraries to obtain the notation ⁇ appropriate to the educational paradigm of the material ⁇ bein ⁇ authored.
  • the standardization of the student data object according to this exemplary embodiment of IMIS for elementary education is simply achieved by storing student performance data according to instructional context, instructional format, and subject area. Thereby, these characteristics can be taken into account when comparing student pedagogic performance in general across subject matter area ⁇ .
  • IMIS ⁇ tandardi ⁇ ation i ⁇ that of the agent action proce ⁇ ing table ⁇ , the policy filter table, the deci ⁇ ion weight table, and the ⁇ election rule ⁇ .
  • Event me ⁇ age ⁇ from the material ⁇ inform the agent of current values for the in ⁇ tructional context and in ⁇ tructional format. Since the ⁇ e values are parameter ⁇ available to evaluate the conditions and functions contained m these tables, these tables can be, in effect, segmented into parts each corresponding to a particular instructional context and instructional format. Since there is considerable overlap between the parts of these tables, the number of rules does not proliferate.
  • the current ⁇ ubject area is also available to ⁇ egment the table ⁇ in the ca ⁇ es of those ⁇ ubject ⁇ that can require special treatment by agent action proces ⁇ ing.
  • the IMIS ⁇ tandardization permits a more systematic and effective use of the mechanism which the agent use ⁇ to ⁇ et global variables in the material ⁇ . These variables facilitate adaptive adjustments of instructional parameters, such as seeding rate and amount of prompting. These variables can be more effectively set in view of the current educational paradigm as indicated by the current values of the instructional context and format.
  • IMIS is also useful in providing information to the student in response to "Where am I?" inquiries. The system can use the information contained in the entities in the information triple to respond, "You are halfway through the drill and practice on fractions," for example.
  • the segmenting of the policy filter table and decision weight table which provides a simplified 'intelligent instructional agent' for each kind of in ⁇ tructional context, instructional format, can be augmented by other techniques from artificial intelligence.
  • the customized rules and functions contained in the action table can be augmented software modules, which extend the agent and are constructed based on such techniques as production rules systems with rule propagation or neural nets.
  • Such additional modules could, for example, find complex patterns of student error unanticipated by the in ⁇ tructional de ⁇ igner.
  • a ⁇ additional artificial intelligence method ⁇ are incorporated into the agent software, new materials notations can be added to the notation repertoire.
  • agent action proce ⁇ ing is rule based and event driven
  • agent behavior processing is table based. This and the succeeding section describe the preferred embodiments of these divi ⁇ ion ⁇ of agent proce ⁇ ing.
  • Fig. 8 illu ⁇ trate ⁇ in more detail agent action processing.
  • This processing is activated when event messages 801, representing either input events sent from the I/O handlers or educationally meaningful message ⁇ from the material ⁇ , are sent to the agent software. It transforms the input event messages into lists of display actions that activate the agent display and also has the important side effects of updating student data object 806, as indicated by arrow 815, and of setting materials control parameters, as indicated by arrow 816. It is pos ⁇ ible a particular input event can generate all or none of these outputs and side effects .
  • Agent action processing proceeds through three step ⁇ : event filtering, candidate action weighting, and display action selection.
  • event filtering In common, each of these ⁇ tep ⁇ reference ⁇ rules in an associated table of rules. These rules include relations, function ⁇ , and procedure ⁇ , all of which reference input parameter ⁇ .
  • Input parameter ⁇ can be any appropriate data carried in the input event me ⁇ age and any appropriate data stored in student data object 806.
  • fields from the following subtype ⁇ in the ⁇ tudent data model are referenced: the current le ⁇ son subtype, the materials specific subtypes, and the agent pedagogic student model ⁇ ubtype.
  • event input parameters include parameter ⁇ characterizing the current educational paradigm adopted by the material ⁇ .
  • the ⁇ e parameter ⁇ can be u ⁇ ed to ⁇ elect rules applicable only to this paradigm for reference and activation.
  • the first step is event filtering 807, referencing policy filter table 803. This step is described with reference to Table 7, an exemplary policy filter table.
  • the first row illustrates a generic policy filter rule, while subsequent rows illustrate exemplary filter rules.
  • the generic rule has a condition and a consequent .
  • the condition is boolean expres ⁇ ion, B() , of one or more conditions, p n , each of which i ⁇ a function of the available parameter ⁇ .
  • Default parameter ⁇ in a rule can be overwritten by parameter ⁇ from the input event.
  • the consequent is a list of an agent action type, "type, " an agent action subtype, "subtype, " and zero or more parameters, x r ..
  • the type is a major mode of agent behavior, for example, "congratulate the student," and the ⁇ ubtype modifie ⁇ that behavior, for example, "because of the ⁇ tudent' ⁇ rate.”
  • the parameter ⁇ provide additional information to be u ⁇ ed in con ⁇ tructing an utterance, for example the time that the ⁇ tudent took to complete an item or the name of the item.
  • Each rule can be marked active or inactive, possibly as a re ⁇ ult of ⁇ election during material ⁇ initialization or a ⁇ a re ⁇ ult of ⁇ election according to IMIS educational paradigm parameter ⁇ .
  • Proce ⁇ ing a filter rule con ⁇ ists, first, in evaluating each active boolean, and second, for each such active and true expres ⁇ ion, placing the con ⁇ equent and it ⁇ parameter ⁇ into the list of candidate actions.
  • the list of candidate actions is then pas ⁇ ed on to action weighing 808, the next proces ⁇ ing ⁇ tep.
  • the current lesson subtype and materials specific data subtype are updated, if neces ⁇ ary, with data from the input event message. For example, upon item completion, performance results need to be updated.
  • Action weighting 808 references decision weight table 804 and a ⁇ signs a numeric weight to each action in the input candidate action list. Thi ⁇ ⁇ tep i ⁇ de ⁇ cribed with reference to Table 8 an exemplary deci ⁇ ion weight table.
  • the fir ⁇ t row illu ⁇ trate ⁇ a generic policy filter rule, while ⁇ ub ⁇ equent row ⁇ illu ⁇ trate exemplary filter rule ⁇ .
  • the generic rule has an index and a weight function.
  • the index is a type and subtype pair, and the consequent is a weight function of zero or more parameters, x n , with a value between 0 and 1.
  • Each rule can also be marked active or inactive, pos ⁇ ibly a ⁇ a re ⁇ ult of ⁇ election during material ⁇ initialization or a ⁇ a re ⁇ ult of ⁇ election according to IMIS educational paradigm parameter ⁇ .
  • Action selection 809 references selection criteria table 805 to select a final set of action ⁇ from the input candidate 5 action list. This step is described with reference to Table 9, an exemplary selection criteria table.
  • the ⁇ election criteria table con ⁇ i ⁇ t ⁇ of a list of available method ⁇ for the candidate action ⁇ election proce ⁇ s.
  • a 0 selection criterion use ⁇ the computed weight and perhap ⁇ other parameters to select one or more final action ⁇ from the candidate weighted actions.
  • Exemplary ⁇ election criteria are illustrated in the last two rows. It is anticipated that one criteria is marked active a ⁇ a re ⁇ ult of ⁇ election during ⁇ material ⁇ initialization or as a result of selection according to IMIS educational paradigm parameters. The active criteria is applied to select zero or more final actions. Some final actions are executed locally to provide control to the materials by setting control parameter ⁇ , a ⁇ Q indicated by arrow 816.
  • final action ⁇ can cau ⁇ e update of field ⁇ on the ⁇ tudent data object, in particular in the agent pedagogic model ⁇ ubtype, as indicated by arrow 815.
  • the remaining final actions are display actions which are pas ⁇ ed to agent behavior proce ⁇ sing in display action list .. 802.
  • Action proce ⁇ ing is illustrated with reference to the exemplary rules in Tables 7, 8, and 9 by considering the result ⁇ of proce ⁇ ing two input event ⁇ , one of type "item done” with a "difficulty greater that LIM" and one of type “exerci ⁇ e done.”
  • Applying the exemplary filter rules from Table 7 results in two candidate actions, one being (congratulation, diff) and the other being (congratulations, done) .
  • No other exemplary boolean expression evaluates to true.
  • the exemplary weighting rules from Table 8 are simply applied by selecting and evaluating the correct weighting function.
  • the resulting exemplary candidate action weight ⁇ are taken to be 0.8 for (congratulation, diff) and 0.5 for (congratulations, done) .
  • the one active exemplary selection rule from Table 9 is applied which ⁇ elect ⁇ the one final action (congratulation, diff) .
  • rule propagation and general production rule sy ⁇ tem ⁇ could be u ⁇ ed to transform events to actions.
  • Other applicable techniques could involve neural nets, predicate logic, and so forth.
  • Agent behavior proces ⁇ ing transforms di ⁇ play action ⁇ into output di ⁇ play ⁇ to the ⁇ tudent.
  • agent behavior proce ⁇ ing select ⁇ from table ⁇ of possible display behaviors based on the input display action list and its parameters and on fields in the student data object describing student preferences and recent agent display behaviors.
  • agent behavior proces ⁇ ing generate ⁇ either display script ⁇ which are sent to the I/O handler, or scripts with as ⁇ ociated data snips of sound and animation that are embedded in applets.
  • intermediate scripts are not used and behavior processing generate ⁇ I/O handler commands in real time. This section describes agent behavior processing, first, with respect to the table data structures used, and second, with respect to the proces ⁇ ing step ⁇ .
  • agent behavior proces ⁇ ing include ⁇ two ⁇ tep ⁇ .
  • the message and its emotional affect which is to be displayed or spoken by the on-screen agent, called herein the "utterance” is ⁇ elected according to the input display actions.
  • the utterance and affect are sent to the preferred persona object where it is integrated into a complete display, including animation, graphics and audio.
  • the display is preferably represented as a script which is then ⁇ ent to the I/O handler ⁇ .
  • the selected affect m an important parameter. The affect further characterizes the intent of the utterance.
  • an utterance of a "congratulations" type is associated with a positive affect that can range from “happy, " in ca ⁇ e ⁇ of superior performance, to "encourage,” in cases of improving but still les ⁇ than average performance.
  • the di ⁇ play behavior of the on- ⁇ creen agent preferably represented as one or more personae interacting with each other and the ⁇ tudent, i ⁇ ⁇ trongly re ⁇ pon ⁇ ive to the affect parameter.
  • infusing an animation with an affect or emotion gives resulting images a human and life-like quality. Such a quality is important so that the virtual tutor aspect of the ABI sy ⁇ tem engage the ⁇ tudent in order to improve in ⁇ tructional results.
  • agent behavior processing can present a coherent and life-like imaje agreeable to the student over one instructional session or over several instructional sessions .
  • Affects are a ⁇ ociated with and further characterize the intent of utterance ⁇ . They are ⁇ elected a ⁇ part of utterance generation proce ⁇ ing for u ⁇ e in vi ⁇ ual display generation proces ⁇ ing. Utterance generation proce ⁇ sing depends on the type, ⁇ ubtype, and parameters of the current event as well as on the student data object, which contains the agent student mcdel, student pedagogic parameter ⁇ , and recently generated behavior ⁇ . Therefore, preferably, the ⁇ elected affect and generated visual displays are respon ⁇ ive to the student pedagogic characteristics or, alternatively, the student cognitive style.
  • utterances and associated affect are generated by selecting options from a hierarchy of tables. This hierarchy, having typically many choices for each level, provides variety in agent behavior. At the highest level of this hierarchy are the tables of utterance templates 908, which are indexed by action type and action ⁇ ubtype. Typically, there are many utterance template ⁇ and a ⁇ sociated affect for any given action type and subtype, and indexing is according to additional parameters that occur in action lists and additional parameters of student characteristics from the ⁇ tudent data object. For example, utterance ⁇ and affect ⁇ are further selected according to the educational paradigm employed, student grade level, and student preferences.
  • ⁇ lot ⁇ which are parametrized phra ⁇ e ⁇ , or in other word ⁇ , function ⁇ which use input parameters to return phrases .
  • Utterance templates contain named slots as well as invariable words and sounds.
  • ⁇ lot ⁇ with the specified name are selected from the slot table.
  • there are' many slots of a given name which are further indexed according to additional action list parameters and user characteristic ⁇ from the student data object. Wheu a slot is selected for use in the utterance template, slot parameters are passed from the utterance template.
  • Alternative embodiments of this invention are adaptable to hierarchies with additional levels of utterance generation table ⁇ or additional type ⁇ of table ⁇ at a given level in the hierarchy.
  • Table 10 is a small segment of the utterance template table for an action type of "congratulations” and an action subtype of "performance” and appropriate for a test type paradigm.
  • Table 10 illustrate ⁇ that the ⁇ tudent grade level, obtained from the student data object, is an additional indexing parameter for these utterance templates .
  • each illustrated template includes a slot named "performance-streak- ⁇ lot, " with parameters of grade level, number of problems answered correctly, and total number of problems .
  • the utterance template table have a large number of utterance templates appropriate to a large number of educations situations. Since the preferable number of type and subtype combinations is at least approximately 500, and since it is preferable to have 10 to 100 respon ⁇ ive utterances per pair, a preferable utterance template table has at lea ⁇ t 25,000 entries. A less preferable table has at least 5,000 entries and a more preferable table has at lea ⁇ t 50,000 entrie ⁇ . In an embodiment of the invention, le ⁇ u ⁇ ed utterance ⁇ have fewer candidate responsive utterance ⁇ without impairing the image of ⁇ ystem spontaneity. Thus this invention is adaptable to utterance tables of 1,000 entries.
  • Exemplary Table 11 is a small segment of the slot table for slot ⁇ named "performance- ⁇ treak- ⁇ lot, " any of which could be employed in the previou ⁇ template ⁇ .
  • the illu ⁇ trated ⁇ lot ⁇ evaluate their input parameters to result ⁇ in phrases. For example the last slot results in the phrase "90 percent" if numright is 9 and total is 10. Further, slots can contain a condition which control ⁇ their applicability. In this example it is the fifth component of each entry and only the first slot has an non-null condition.
  • slot tables have at least the same number of entries as the utterance template table.
  • a preferable slot has at least 25,000 entries.
  • a less preferable table has at least 5,000 entries, and a more preferable table ha ⁇ at lea ⁇ t 50,000 entries .
  • the final display of the preferred on-screen agent object is generated from Display Behavior Tables 904 with a similar hierarchical table data structure to that used in utterance generation.
  • On-screen agent actions which contain a cast of one or more personae.
  • persona types which the ⁇ tudent ⁇ elect ⁇ once, or at mo ⁇ t once per session.
  • associated with each persona type is a library of display behaviors indexed by affect.
  • Exemplary affect types include the following.- sad, objective, pleased, happy, disappointed, announce, remind, encourage, reinforce, model, prompt, hint, joke, and tutor.
  • each affect has many possible behaviors and the ⁇ e are further indexed, as for utterance generation, by parameters appearing in the action list and the student data object.
  • the display behaviors are structured as scripts containing named display objects. These named display objects can optionally involve voice, audio, graphics, or video display ⁇ , and they are contained in ⁇ cript ⁇ which can optionally specify a timed animated display or a branching display, where the branches are dependent on student reactions to the display. At the lowest level in the preferred embodiment are the individual named display objects. As for slot ⁇ , typically there are several parametrized instantiations of each named object. These instantiations are indexed according to the same parameters indexing the display behaviors and in turn use these parameters to generate di ⁇ play ⁇ .
  • Alternative embodiments of this invention are adaptable to hierarchies with additional levels of tables for display generation tables or additional types of table ⁇ at a given level in the hierarchy.
  • Exemplary Table 12 i ⁇ a ⁇ mall segment with personae type ⁇ adapted to elementary education.
  • a robot per ⁇ ona creakily waving it ⁇ arms and saying the congratulatory mes ⁇ age.
  • the cat ⁇ ays the general part of the encouragement message while pointing to his bird sidekick.
  • the bird then flies acros ⁇ the ⁇ creen while ⁇ aying the ⁇ pecific part of the message.
  • the on-screen agent have a richly varied and engaging behavior.
  • the persona types preferably include recognizable popular figures as well as a rich variety of specially created figures.
  • Per ⁇ ona type table ⁇ have a preferable selection of at least 100, and les ⁇ preferably at least 50 persona types.
  • the librarie ⁇ of di ⁇ play behavior ⁇ preferably have many behavior ⁇ for each affect. Since the preferable number of affect ⁇ i ⁇ at lea ⁇ t 50, and since it is preferable to have 50 to 100 responsive behaviors per affect, a preferable behavior libraries have at least 2,500 entries, and more preferably 5,000 entries, per persona type. A fully implemented ABI sy ⁇ tem can have preferable behavior libraries with approximately 125,000 entries.
  • This number can be les ⁇ in situations were more popular persona have fully configured behavior libraries while le ⁇ popular per ⁇ ona have more limited librarie ⁇ . Further, the number of per ⁇ ona type ⁇ can be advantageou ⁇ ly limited to only the mo ⁇ t popular or more appropriate for the type of ⁇ tudent. Thus this invention i ⁇ adaptable to librarie ⁇ with approximately 1,000 entrie ⁇ of re ⁇ ponsive behaviors .
  • this content is preferably created by artist ⁇ , animators, writers, and other creative talent.
  • These elements of sound, voice, animation, graphics and video are collected into libraries of data snips and stored in archives. Further, it is preferable that these tables have an extensive and varied content in order that agent displays repeat only infrequently.
  • the fir ⁇ t ⁇ tep i ⁇ utterance generation 906 which receives as input action li ⁇ t 901.
  • Utterance generation indexes the utterance template table in accord with action list parameters, in particular action type and subtype, and student preferences from the ⁇ tudent data object, to obtain candidate utterance template ⁇ re ⁇ pon ⁇ ive to the current ⁇ ituation. If no candidate ⁇ are found, the student preferences are relaxed in a preset order until at least one candidate is found.
  • a record of agent display behavior during the session is stored in the student data object.
  • the named slots of the selected template are resolved in a similar fashion, by finding candidate named slot ⁇ and selecting one at random that has not been recently used.
  • An utterance is then generated from the template, the named slot, and the input action list parameters. This utterance and its as ⁇ ociated affect is passed to visual di ⁇ play generation.
  • the ⁇ econd ⁇ tep of agent behavior proce ⁇ ing, vi ⁇ ual display generation 907 uses the input utterance and associated affect to select candidate respon ⁇ ive displays of that affect from the libraries as ⁇ ociated with the student's current personate) preference contained in the student data object 905 As with utterance generation, if no candidate is found, student preferences are relaxed until one l ⁇ found.
  • the utterance mes ⁇ age l ⁇ ⁇ ent to the ⁇ elected display and display object ⁇ contain performance method ⁇ that are called to generate and output di ⁇ play script
  • the script with references to data snip ⁇ 909 of voice, ⁇ ound, graphic ⁇ , video and animation is incorporated into an applet
  • An exemplary applet can be a program fragment representing a character scratching his head while saying the utterance and moving acros ⁇ the screen This output applet l ⁇ ⁇ ent to the I/O handler ⁇ in the ES for ⁇ tudent display 908.
  • a display action can also reference a preformatted animated sequence stored in the data snip library 909 in which voice, sound, graphics, animation and video have been already integrated.
  • portion ⁇ of utterance proce ⁇ ing 906 and vi ⁇ ual display proces ⁇ ing 907 can be bypa ⁇ sed
  • ⁇ election of utterance or per ⁇ ona candidates from the available content ⁇ can be done other than randomly.
  • agent behavior data saved during a se ⁇ ion m the ⁇ tudent data object can be used to 5 construct performances extending acro ⁇ in ⁇ tance ⁇ of student actions.
  • utterance templates and display object ⁇ can be ⁇ elected in a connected manner in order to give agent di ⁇ play the appearance of continuity and reali ⁇ m.
  • the ⁇ e method ⁇ can include advanced text to ⁇ peech techniques, 2-D and 3-D graphical generation, and VR effect ⁇ .
  • Continuing story line ⁇ cript ⁇ can be available from the ABI ⁇ ystem on a daily basis in a manner similar to a continuing plot in a daily comic strip. These story lines can be applicable to a group of student ⁇ and individualized
  • the student' ⁇ ⁇ elected per ⁇ ona can introduce a ⁇ tory line and m other ca ⁇ e ⁇ ⁇ everal personae are directly involved in an interaction.
  • the story line can be u ⁇ ed as the basis for a reward such as "We're off to the beach to play volleyball. Join us
  • the agent receives event messages, which describe the student' ⁇ learning and performance.
  • the agent update ⁇ the ⁇ tudent data object with data from these mes ⁇ age ⁇ .
  • the agent adapt ⁇ to the ⁇ tudent, and thereby the virtual tutor individualizes to the student. This adaptation is maintained acros ⁇ sessions with this student.
  • the data referenced and updated by the agent are averages or weighted moving averages, giving more weight to recent than past behavior.
  • the pedagogic model includes, for example, data weighted moving averages of the rates that the student learns discrimination of a certain complexity.
  • Materials specific performance includes, for example, weighted moving averages of data on the student's respon ⁇ e time and response latency.
  • agent adaptivity to its student can occur differently.
  • student model data include ⁇ not only average ⁇ or weighted moving average ⁇ , but al ⁇ o data on the statistical distribution of the parameters involved, such as standard deviations. With thi ⁇ data the agent can recognize the current situation as "normal" or "abnormal" for this student and thereby offer appropriate guidance.
  • this stati ⁇ tical data can optionally include correlation ⁇ between the agent data, such as between various pedagogic parameters and variou ⁇ material ⁇ parameter ⁇ .
  • educational ⁇ ituation ⁇ can be cla ⁇ ified more finely than "normal” or “abnormal” into, for example, “abnormally ⁇ low on thi ⁇ fluency drill in view of normal progre ⁇ s on other exercise ⁇ .
  • cla ⁇ ification of thi ⁇ ⁇ tati ⁇ tical data can be done by ⁇ pecial executable modules in the agent based on, for example, statistical classification ⁇ cheme ⁇ or neural network ⁇ .
  • agent action proce ⁇ ing can be implemented with more complicated techniques.
  • agent action processing is done by rules without rule propagation.
  • rule propagation and full rule based systems can be used to transform events into action ⁇ .
  • This invention is applicable to other techniques from artificial intelligence that can make thi ⁇ tran ⁇ formation ⁇ uch a ⁇ Baye ⁇ ian belief networks.
  • the ⁇ tudent data object has data modeling student interest ⁇ and preference ⁇ .
  • Such a model enable ⁇ the agent, for example, to monitor school events and suggest those appropriate to the user.
  • This model also enables the agent to provide reward ⁇ tailored to individual ⁇ tudent ⁇ , which enhances the system reinforcement and adds to perceived agent persona personality and to virtual tutor individualization.
  • this model of ⁇ tudent interests can be implemented simply a ⁇ a ⁇ et of approximately 200 party ⁇ , covering intere ⁇ t in ⁇ everal ⁇ ubdivi ⁇ ion ⁇ of each ⁇ chool subject area, as well as categories related to ⁇ ports, leisure time and other areas of student interest .
  • Intere ⁇ t in the ⁇ e instance ⁇ can be entered in ⁇ everal manner ⁇ .
  • Student u ⁇ e of the encyclopedia tool can be used to determine areas of current interest .
  • Interest can be directly entered by the student, parent, or teacher. Alternately, student interest in materials can inquired for when the materials terminate.
  • the ⁇ tudent could provide ⁇ emiotic feedback by ⁇ electing from a row of face ⁇ with different expres ⁇ ion ⁇ .
  • the ⁇ tudent can be quizzed on intere ⁇ t ⁇ in a po ⁇ ed branching manner.

Abstract

This invention relates to a system and method for interactive, adaptive and individualized computer assisted instruction. This invention includes an agent (108) for each student (101) which adapts to its student, and provides individualized guidance to the student and controls to the augmented computer assisted instructional materials. The instructional materials of this invention are augmented to communicate the student's performance and the material's pedagogical characteristics to the agent, and to receive control from the agent. Preferably, the content of the communication between the agent and the materials conforms to specified interface standards so that the agent acts independently of the content of the particular materials. Also preferably, the agent can project using various I/O modalities integrated, engaging, life-like display persona(e) appropriate to the preferences of its student, and appear as a virtual tutor to the student. Finally, preferably this invention is implemented on computers interconnected by a network.

Description

AGENT BASED INSTRUCTION SYSTEM AND METHOD
1. FIELD OF THE INVENTION
5 This invention relates to a system and method for interactive, adaptive, and individualized computer-assisted instruction of students, preferably implemented on network connected computers. More particularly the system and method includes for each student an agent adapted to that student
10 which monitors its student's instructional behavior, responds to teacher direction, and controls the instructional progress, and guides its student, all of which constitute one aspect of a virtual tutor. Preferably, the viewable on¬ screen aspect of the agent includes customizable multimedia
15 presentation personae, which constitute a further aspect of a virtual tutor.
2. BACKGROUND OF THE INVENTION
The application of computers in education has been
2_ limited by several problems, including a failure to provide systems that adapt or individualize to each student, a failure to integrate systems effectively into the existing classroom in elementary and secondary schools, and a failure to exploit technological developments. Although during the
__ last three decades, a number of interactive educational techniques have been implemented on computers, all these systems lack the ability to recognize and to adapt to each student's individual characteristics. The common motivation for interactive educational techniques was the recognition
__ that individual student interaction fosters learning to a greater degree than mere passive exposure to a fixed pace presentation (Kulik et al. , 1986, Effectiveness of computer- based adult learning: a meta-analysis, Journal of educational computing research 2:235-252; Kulik et al . , 1983, Effects of
,_ computer-based teaching on secondary school students, Journal of educational psychology 75_ : IB - 26 ) . Existing, interactive educational techniques have many variants: programmed T U 7/
instruction, mastery learning, audio-tutorials, direct instruction, personalized system of instruction, precision teaching, fluency learning and others (Engleman et al . , 1982, Theory of instruction : Principles and Applications , Irvington, New York; Keller, 1968, "Goodbye, teacher...", Journal of Applied Behavior Analysis 1:79-89; Lindsley, 1990, Precision teaching: By teachers for children, Teaching Exceptional Children 22.:353-359, West et al . , 1992, Designs for Excellence in Education : the Legacy of B . F. Skinner, Sorris West, Inc., Longmont, Colorado, pp. 147-160) . Several systems have attempted to harness the interactivity of the computer for these interactive educational techniques. In early work, for example, text-based programmed instruction was converted to computer format and implemented on time- shared systems. This early development was extended with more sophisticated computer-assisted instruction ("CAI"), also known as compute based training ("CBT") .
In CAI, for example, the computer acts as a teaching machine. A program presents instructional displays, accepts student responses, edits and judges those responses, branches on the basis of student responses, gives feedback to the student, and records and stores the student's progress. Examples of CAI systems include those of Carbonell, 1970, Al in CAI, an artificial intelligence approach to computer- assisted instruction, IEEE Transactions on Man -machine Systems, 11:190-202; Osin, 1984, CAI on a national scale, Proc . 4 th Jerusalem Conf . on Information Technology, pp 418- 424; Seidel 1971; Koffman et al. , 1975, Artificial intelligence and artificial programming in CAI, Artifi cial Intelligence 6.:215-234. Effective CAI instructional materials for a limited number of specific topics have been developed, as have special "authoring languages," which assist instructional developers on the tasks of designing instructional materials. U.S. Patent No. 5,310,349 is exemplary of such CAI systems.
However, existing CAI systems do not adapt to their students. These systems merely sequence students through educational materials, based only on student performance during a current lesson and using only parameters such as recent responses and pre-requisite patterns. These systems do not gather or use information on more comprehensive student characteristics, such as past student performance, student performance on other courses, student learning styles, and student interests.
A greater deficiency is that existing CAI systems do not recognize characteristics of their individual students. They cannot be individualized or made responsive to their students styles. Thereby, these system ignore those roles of a human tutor that can be of unparalleled significance in the education of an individual. The human tutor assists in scheduling and prioritizing and in maintaining interest through proper reinforcement and knowledge of student abilities and preferences. A human tutor observes and addresses patterns of errors and maintains a consistent manner of interaction across a broad range of subject matters and activities. Moreover, a human tutor effectively integrates the cognitive, personal and social aspects of the instructional situation. In other words the human tutor provides a level of individualization based on student styles and on requirements of the instructional task. Furthermore, the human tutor provides an equally effective interaction with the teacher by accepting individualized instructions, collecting data and providing detailed reports. By failing to address these higher order services and roles of an effective human tutor, existing CAI systems fail to fully engage their students and thus fail instruct as well as possible.
Additionally, a further problem of computer assisted instruction, particularly in primary and secondary school settings is poor integration into the rest of the school curriculum and often poor quality of the educational materials. In application to elementary and secondary schools, two main patterns of instructional computer use prevail, which illustrate the compromises prevalent today. T/ / 687
In one pattern, the integrated learning system ("ILS") is a dedicated installation that is used in schools to teach basic strands of reading, mathematics and related topics, spelling, writing, and other language arts, from grades one to six, or perhaps to eight or nine (EPIE, 1990, In tegra ted
Instructional Systems : an Evaluation , Educational Products Information Exchange, Hampton Bays, N.Y.) . The paradox with this pattern, regardless of the quality of the instruction offered by these systems, the work of students in ILSs bears little relation to what goes on in the classrooms in that very same topic. The fundamental reason is that the teacher cannot influence or respond meaningfully to variations in student progress or to relations between the CAI curriculum and the classroom text, materials and activities. This is the case even where the ILS installation produces reports in some detail as to each student's progress and standing.
The second pattern of computer use in schools is that of standalone short units on specific topics (TESS, 1996, Database of Educational Software Sys tems , Educational Products Information Exchange, Hampton Bays, N.Y.) . These can be hypercard programs, simulations, or games, and are usually separate from the basic classroom curriculum. Though occasionally of excellent quality, the paradox here is that these products are usually chosen for enhancement, possible optional, and do not account for a major component of school related instruction. No records are kept or returned regarding student performance. These programs have not made a major contribution to school instruction.
Finally, computer assisted instruction systems have ignored or underutilized such important developments in computer technology over the past four years as agent-based system, client-server systems, and networking systems. Though now an active field with a wide spectrum of activities from research to commercial applications, application of agent-based systems in educational, instructional, and homework tasks has not been explored. Software systems for intelligent agents have successfully applied in travel arrangements, email management, meeting scheduling, stock portfolio management, and gathering information from the Internet (Maes, 1994, Agents that reduce work and information overload, Communi cations of the ACM 3_7: 30-40) . In all these applications, software agents perform tasks on the user's behalf, receiving only general instructions from their user but then executing detailed tasks with considerable independence and initiative. In client-server systems, these agents can operate in the client, the server, or both. Recently, adaptive and personalized agent based systems have begun to be developed. Systems with adaptive agents, agents which learn from experience, has made gains with new techniques continually identified. Adaptive agents have permitted new commercially viable adaptive systems implemented across networks. In these systems, an agent is a "go-between, " mediating relations in a manner whose function is understood with details being left to the agent itself. The agent acts as a "stand-in" for its user, who is thus freed from direct manipulation of the network. In instructional applications, there is an unmet need for an agent who serves two users: the school system and the individual student. This is the well-known role of the teaching assistant/tutor. Maes, 1994, and others have extended the metaphor of agent to that of personal assistant, an agent who learns some important characteristics of its user, and adapts its behavior accordingly. Agents can learn by a mixture of methods: observation, receiving feedback from its user, receiving instructions from the user, and consulting other agents concerning "similar problems." To combine the important properties of competence, trust, and intimacy that a personal assistant should have, an agent should be in touch with relevant data, represent important facts in a reliable manner, and engage with its user in a personal and fundamentally sympathetic -- at times playful -- manner. Approaches to the creation of agents with personal characteristics have begun to be explored. In this work, relevant techniques are found in the tradition of film animators who, through the portrayal of emotions, gave their characters the illusion of life.
Moreover, computer assisted instructional systems have only haphazardly exploited the potential of client-server systems and networking technologies. Client-server architectures have emerged as the principal architecture of distributed computer systems. Client systems, running under sophisticated windowing operating systems, can support advanced object based software applications, including high speed graphics, animation and audio output. Servers can store gigabytes of data and programs at central or distributed locations at quite reasonable cost. Object oriented database systems have been developed to store structured data on servers. Client systems, in a striking change from only several years ago, now virtually all have multimedia capabilities, including high quality graphics, sound, and at least limited video playback capability. Text-to-speech software is presently available for use with these systems, and speech recognition software is on brink of widespread commercial acceptability on low cost platforms. New authoring tools support graphical methods for generation of multimedia presentations and computer based instructional materials having corresponding sequencing logic. Clients and servers can be linked remotely with increasing convenience and decreasing cost. The Internet has emerged as a means of providing an inexpensive means of connecting computers to provide effective communications and access to information and other resources such as software. Further Internet developments that made the Internet truly universal include the HTML and the HTTP protocols, which provide platform independent access to hyperlinked multimedia information, and the Java™ programming language, which provides platform independent software for Internet applications programming. Subsets of the Internet -- intranets -- have become an increasingly important means for disseminating information and enabling communication within constrained domains, such as a single school system or corporate enterprise.
Existing CAI systems have not addressed these functional deficiencies nor have they exploited the possibilities of existing technologies.
Citation of references hereinabove shall not be construed as an admission that such a reference is prior art to the present invention.
3. SUMMARY OF THE INVENTION
The Agent Based Instruction ("ABI") system of this invention is a system and method for interactive, adaptive, and individualized computer-assisted instruction and homework, preferably implemented on network connected computers, that overcomes these problems by providing the following objects in preferred and alternative embodiments. This invention provides a more effective system responsive to the needs of several parties interested in education.
An important object of this invention is to provide the student with a virtual tutor, by having agent software
("agent") adapted to each student that offers a high quality of individualized student interaction and that manages or controls instruction in a manner approximating a real tutor. The agent exercises management or control over the computer- assisted instruction materials and provides information and help to the student, both synchronously and asynchronously to particular instructional materials. Agent behaviors are sensitive to both the educational context and to the history of student behavior. In a preferred embodiment of this invention the agent integrates data from several sources. From computer-assisted instructional materials, it accepts data on the methods of instruction adopted by particular materials and on student performance in the instruction. From the student, it accepts direct interactions as well as using the history of previous student performance stored in a student data object. From the teacher, it accepts data on customization and student assignments. From the school, it accepts data on assigned courses, data on analysis of student body performance, and educational standards and criteria. In a preferred embodiment, these inputs allow individualization of agent interaction. Alternative embodiments are responsive to additional data types and sources.
In a preferred embodiment of this invention, diverse agent behaviors are handled uniformly by a single means. The diverse behaviors include encouragement and feedback, providing meta-cognitive help on ongoing instruction, managing or controlling and individualizing computer based instruction to the student's learning modes, and assistance with assignment management . These diverse behaviors are selected from a set of potentially appropriate candidate behaviors. This set of candidate behaviors is ordered and the highest ranked behaviors are chosen.
In a preferred embodiment of this invention the diverse agent behaviors adapt to the student based on a variety of information about the student. The agent modifies its behavior on the basis of a growing history of interactions with the student over time, as this history of student performance is stored in the student data object. The agent can also modify its behavior on the basis of teacher and school system supplied information. Another important object of this invention is that the agent presents itself on-screen to the student with integrated, and optionally, animated multimedia persona, or preferably a plurality of persona (hereinafter called "personae") . The on-screen agent can appear as living entities, which in grade school can be comfortable "Study
Buddies""" and in adult training can be appear as an objective "Concept Coach". The on-screen agent instructs, motivates, engages and guides its student.
In a preferred embodiment, the on-screen agent can be dramatized by a single character or by a cast of interacting characters. The interaction between these actors can be individualized to reflect the pedagogical response of the agent. To maintain student interest in the agent response, story lines continuing across materials or session can be used.
In a preferred embodiment of this invention the voices, gestures and motions of the personae are derived from the chosen behaviors, student personae preferences, and the history of recent behavior by selection from tables containing a rich variety of alternative sound and visual display objects. All elements of the on-screen agent display are then synthesized in an integrated display script calling for graphics, animation, video, or sound as appropriate. These scripts are then bundled into applets, run-time program fragments that represent a complete element of performance. This display is highly configurable by the student, the teacher, or the system administrator.
It is an advantage of this invention that elements of the display objects can be created by artists, animators, singers, and so forth, as data snips. Pluralities of data snips can be stored in libraries of dynamic clip art and then installed in an implementation of this invention. In this manner the on-screen agent personae have an appropriately contemporary, realistic, and engaging manner. Data snips are, in general, short clips of sound, voice, graphics, animation or video, or combinations of these used to construct the on-screen agent. A data snip can also be a complete preforτnatted animated sequence, perhaps in the format of a talking animated daily cartoon strip.
Another important object is that the method and system cf this invention is adapted to implementation on a variety of networks. When so implemented, the interactive, adaptive, and self-paced computer-assisted instruction and homework provided by this invention is available to geographically dispersed students and from geographically dispersed schools. For example, an implementation of this invention as a "Homework Network™" can make computer assisted homework available to students of all levels at home. In addition to computers located at residences of students, the student can also access homework materials at computers located in youth centers, libraries, schools and other locations.
In a preferred embodiment, the network on which this invention is implemented as an intranet configured of appropriate links and utilizing the known TCP/IP protocol suite, and as appropriate, ATM technologies, including World Wide Web, associated browsers, and mail format extensions. Implementation over the public Internet is equally preferred in cases where extensive connectivity is needed. A further important object of this invention is to utilize augmented computer-assisted instruction materials which present to students a variety of interactive, adaptive, and self-paced computer-assisted instruction and homework materials in a manner which informs the agent of a student's progress and performance and which permits the agent to manage or control the materials to the student's pedagogic characteristics. Thereby, the ABI system can effectively guide and engage students in their educational tasks.
In a preferred embodiment, these instructional and homework materials are composed of materials data presented by a materials engine. The materials data includes display objects containing the substance of the instruction, logic to sequence the display according to student input, and notations. Notations are augmented definitions that serve to pass information to the agent concerning the materials and the student. For example, notations classify key sections of materials which are educationally significant student actions. Preferably, authoring tools assist in developing these augmented instructional materials. Materials tasks and sequences are created and entered by instructional designers and subject experts. Notations are usually entered by instructional designers and can be customized by teachers.
In a preferred embodiment, the information passed in the notations is standardized according to an instruction materials interface standard. This standard establishes a uniform way the materials independent data relating to student performance are to be provided to the agent and a uniform way for the agent to guide the student in a materials independent manner.
A further important object of this invention is to provide to the student a range of tools which are integrated with the agent in a manner similar to the instructional materials. These tools include general tools helpful to assigned instructional tasks, and special tools for group work and communication and for student scheduling.
In a preferred embodiment, the general tools include at least a calculator, an encyclopedia, a dictionary, a thesaurus, each appropriate to the several levels of students, which can access an ABI implementation. In a preferred embodiment, the group work and communication materials allow, when permitted, message exchange, student linking into groups for joint work, and student linking into groups for structured work such as contests. In a preferred embodiment the student scheduling tool records assigned student activities and their priorities. In an embodiment, this tool can be consulted by the student to view schedules. It can be consulted by the system to prescriptively schedule required activities, to permit student choice, or to permit a mixed scheduling initiative. Finally, it can be consulted by the agent to offer scheduling advice to the student. Typically, student assignments are set by a teacher. An object of this invention is reporting of student performance to students, teachers, parents, administration, or to other appropriate individuals in a business enterprise or other commercial versions. These reports include the unique data on the student's pedagogic performance accumulated and analyzed by the agent, as well as all the usuc.l and expected performance data on specific materials available in existing computer-assisted instruction systems. In a preferred embodiment this data is derived from the student data object, where all permanent student data is stored. These data objects are preferably stored in an object oriented database system against which are run reports of this data. It is an advantage of this invention in a school context that parents can have access to current data on their children, and thereby play a more informed role in their children's education.
Another object of the invention is to utilize current technologies for student interaction. When available, this invention is adaptable to Network Computers ("NC") . NCs are low cost computers specifically designed to access intranets or the public Internet. In a current preferred embodiment and implementation, this invention is adaptable to multimedia PCs for some students, and to such special interaction technologies as can be advantageous to special students or students with special needs. Typical interactive devices include keyboards, mice or other pointing devices, voice recognition, joy-sticks, touch activated devices, light-pens, and so forth. Other devices, such as virtual reality devices, can be added as they become commercialized.
It is clear to those of skill in the art that by providing interactive, adaptive, and self-paced computer- assisted instruction and homework delivered over widely available computer networks this invention has immediate application in public, private, and commercial school environment of all levels. Educational research shows that instruction and homework of these characteristics improves students' educational outcomes. Further, in school contexts this invention advantageously provides immediate access to student performance and pedagogic characteristics to all interested parties, including parents.
4. BRIEF DESCRIPTIONS OF THE DRAWINGS These and other objects, features, and advantages of the invention will become apparent to those of skill in the art in view of the accompanying drawings, detailed description, and appended claims, where:
Fig. 1 illustrates in overview fashion the principal functional components of and parties in the ABI system,- Figs . 2A and 2B illustrate in overview fashion an implementation of the functional components of Fig. 1; Fig. 3 illustrates an exemplary student display screen of the implementation of Fig. 2;
Fig. 4 illustrates in more detail exemplary screen interaction between the on-screen agent and the instructional materials of the implementation of Fig. 2;
Fig. 5 illustrates an exemplary interaction of a student with the ABI system implementation of Fig. 2 ,-
Fig. 6 illustrates in more detail the software components and hierarchy in the implementation of Fig. 2 ,• Fig. 7 illustrates exemplary message flow through the implementation of Fig. 2;
Fig. 8 illustrates agent action processing of Fig. 7 in more detail ;
Fig. 9 illustrates agent behavior processing of Fig. 7 in more detail;
Figs. 10A and 10B illustrate the structure of student data object of Fig. 7 in more detail;
Fig. 11 illustrates exemplary processing of the student data object of Fig. 7 ; Fig. 12 illustates an exemplary sequence of student metarequests and agent metareεponses .
5. DETAILED DESCRIPTION OF THE INVENTION
Sec. 5.1 presents a general overview of the Agent Based Instruction system. Sec. 5.2 describes the preferred hardware and operating software configurations. Sec. 5.3 describes details of the instructional interface between the ABI system and its users. Sec. 5.4 describes in a general fashion the software structure of the ABI system with subsequent sections describing each component in a more detailed fashion. Sac. 5.5 describes the instructional materials and the tools in a more detailed fashion and Sec. 5.6 describes the agent in a more detailed fashion. Sec 5.6 includes detailed description of the preferred interface between the agent and the materials in the ABI system. 5.1. ABI System Overview
In the following, the systems and methods of this invention are described in the context of a school system, with examples drawn primarily from elementary education. This invention is not so limited. It will be apparent to one of skill in the relevant arts that this invention can be applied at all levels of public and private education, from pre-school through university, and to all forms of commercial or corporate education. In all these contexts, this invention has particular utility in making education and training available at school, at the office, at home, at schools with geographically dispersed students and to students at geographically dispersed schools, and at other types of locations. Further, it will be apparent that this invention can be applied in contexts other than education where monitored interactivity and individualization are to be provided, as in child care or weight loss.
The following glossary contains several terms frequently used in the Detailed Description of the invention. It is presented here as an aid in order to initially introduce important terms that are more fully described and explained in the following sections.
Agent: agent software together with the data it references executing in an ABI system.
Agent Based Instruction ("ABI") System: the novel instructional system of this invention, preferably comprising an agent for responsive, adaptive and individualized instruction of students and a network for distribution of instruc ion, which projects the personae of the virtual tutor.
Agent Software: software modules that generate responsive, adaptive, and individualized behavior in the ABI system, preferably implemented according to methods from artificial intelligence. Applet: an executable program fragment advantageously downloaded to a client across the network, in the ABI system applets are particularly used to represent a complete element of on-screen agent actions, or performance, ( e . g. , a character scratching its head and saying an utterance) and can reference various data snips of animation, sound, and scripting information.
Authoring Tools: programs used by instructional designers to develop materials data, such development includes inserting notations.
Cast: a plurality of persona ("personae") representing the on-screen agent.
Character: an individual persona in the cast of the on¬ screen agent .
Concept Coach: a possible alternative name for a persona in the cast of an on-screen agent that is suitable for high school and adult students.
Data Snip: an elementary piece of sound, voice, animation, video, or a graphic,- data snips can be combined, preferably by an applet, to represent a complete element of on-screen agent action.
Electronic Learning Friend ("ELF") : a generic name for any persona in the cast of an on-screen agent; also a possible alternative name for a persona suitable for middle school students .
Instructional Materials: the components of a course of instruction, such components are selected according to the course and can include prerequisite tests, pre¬ tests, lessons, and unit tests. Materials Data: the content of instructional materials.
Materials Engine: software modules that reference instructional materials data and tools data to present the instruction and the tools to the student.
Meta-request : a student request directly to the on-screen agent, an exemplary request is 'asking for a hint.'
Meta-response: all responses to a student produced by the agent software, as distinguished from presentations by instructional materials, tools and communications.
Network: the hardware and software connecting student client computers to school servers in an ABI system,- the network connections can comprise fiber optic links, wired links, or terrestrial or satellite wireless links.
Notations: interface information inserted into materials data that causes the materials engine to send and receive messages from the agent software,- preferably notations create standardized interface messages between the agent and the materials .
On-screen Agent: presentation by the agent software on the student's display using such media as sound, voice, graphics, animation, video, or other multimedia modality; this presentation preferably displays one or more life-like personae.
Persona: a character in the cast of an on-screen agent.
Personae: the collective plural of persona.
Student Data Object: data about each student which the agent software references in order to provide responsive, adaptive, and individualized instruction to that student; this data is updated during course of each lesson and is advantageously stored as one object, or alternatively a few linked objects, in the ABI system.
Study Buddies™: a possible alternative name for personae in the cast of an on-screen agent that is suitable for elementary school students.
Tools Data: the content of tools supporting particular instructional materials,- tools can include a dictionary a calculator, or an encyclopedia,- and so forth, and tools data are the content of the dictionary, the calculator, or the encyclopedia.
Utterance: a text or voiced response by on-screen agent.
Virtual Tutor: the ABI system components acting together to emulate a human tutor,- from an individual student's perspective, the Study Buddies™, ELF, or Concept Coach appears as his or her personal tutor.
The following sections of the Detailed Description elaborate each of these terms and describe their connection and interaction so that the ABI system presents responsive, adaptive, and individualized instruction and assumes the form of a virtual tutor.
5.1.1. Functional Components
In view of these objects and advantages, Fig. 1 illustrates the principal actors and the principal functional components in an ABI System. These include, generally, materials engine 102, agent software 108, and student data object 109, all of which interact with student 101 and with teachers and administrators 106 via a computer network described below in conjunction with Fig. 2 to create a virtual tutor of student 101. Student 101 is typically one of many students enrolled in a school or similar institution. Central to the ABI System is the virtual tutor individualized to each student, which formed by the functioning of agent software 108 with student data object 109, which stores characteristics of student 101 and assignments and standards set by teachers and administrators 106. Other actors not shown in Fig. 1 can be relevant in particular applications, for example, parents in the case of primary and secondary education.
Materials engine 102 presents educational content such as instructional units, homework assignments, and testing to student 101. The educational content includes instructional materials data 114, communications materials data 104, and tools data 115. instructional materials data 114 include computer based instructional materials similar to those known in the art but, importantly, augmented with notations for use in this invention. The materials also include various tools 115 appropriate to particular instructional materials, such as a calculator for mathematics, a dictionary for writing, access to on-line reference sources for research, and so forth. Further, materials can also include communication materials data 104, which define and provide communication with other students 105 for instructional purposes . Such purposes can provide, for example, the tutoring of one student by another more advanced student, joint work of several students on one instructional materials lesson as permitted, and educational contests, such as spelling bees. Further, this invention is equally adaptable to other forms of materials that function in the framework of Fig. 1, in particular interfacing to the agent software as indicated by arrow 111, and that are useful in a particular application of this invention. For example, materials appropriate for child care contexts can differ from the above three classes by, perhaps, having different paradigms of interactivity.
The structure and course of interactions 103 between the student and the materials is preferably governed by paradigms of educational psychology and sound educational practice, such as are described in the exemplary reference Englemann et al . , 1982, Theory of instruction: principles and applications, New York: Irvington Publisher. At the most immediate level, for example, during homework or instruction, student 101 can make requests and receives responses from materials engine 102 and, in turn, materials engine 102 can make requests and receive responses from student 101. The " materials engine can adjust its sequence of presentation in response to student responses. At a next level, the requests and responses exchanged between the student and the materials engine can follow several patterns known in the arts of computer based instruction and which, for example, include the following. First, the student can respond to questions presented by the materials engine, and in the course of responding, can ask for advice or hints, the use of a tool such as a calculator, or other relevant assistance. Second, the student can advance to the next item, lesson, or unit upon successful completion of the present item, lesson, or unit. Third, in case of error, the student can request, or automatically be presented with, appropriate repeat, review, or remediation materials. Finally, at a higher level these patterns of interactions can be analyzed to provide more adaptive responses from the system.
Teachers and administrators 106 also interact with materials engine 102 for several purposes, as represented by arrow 107. For example, teachers can customize existing materials by adding additional items, modifying existing items, altering the order of item presentation, changing the notations (see infra . ) governing agent interaction, and so forth. A teacher can create particular instances of materials suitable for one class, a group, or even one student. Further, although reporting of student progress preferably occurs by other means, in alternative embodiments the materials engine can directly report student progress to teachers and administrators. For example, this can be done by entering notations that generate messages for the teachers . Also, instructional designers can create, or "author, " materials for use in this invention. Such materials can be original or can be derived from existing textbooks, workbooks or media material. They can employ standardized curricula, pretests such as criterion tests, post-tests, and standardized texts. Authoring instructional materials in a course suitable for interactive instruction typically comprises several steps, including decisions about the objects to display to the student, the sequencing of these objects, and the interactions with the agent. The first step is the selection of objects which carry the education content for presentation to a student. Objects can include visual display items, such as text, graphics, animation or movies, audible display items, such as voice, audio and so forth. They can include input items known in the computer arts, such as buttons to select, selections to chose from, text to enter, hypertext and hypermedia links, functions to perform with student input, and so forth. The second step is the selection of the sequencing logic for the ordered display of the objects to the student and the educationally appropriate reaction to student requests and responses . The sequencing logic can reference instructional controls set by agent software 108, such as a command to increase example density, and preferably is chosen in light of principles of educational psychology and practice as detailed above. The third step is the specification of interactions with a student's agent or virtual tutor, a key component of the ABI system. This specification is made by augmenting the sequencing logic with "notations," which are referenced, called, or executed by the sequencing logic during object presentation and that communicate with the agent, in a preferred embodiment by exchanging messages . In the ABI system, the agent builds an adaptive model of its student's pedagogic characteristics, in other words the student's cognitive styles, by monitoring the course of the student's interactive instruction. The notations are the means for this monitoring. Finally, in order to make materials available, the authored materials are indexed and stored in the files of the ABI system, preferably on materials server systems .
ABI authoring tools differ from authoring conventional instructional materials in that notations are present in these materials to enable the agent software to update the student data object, to monitor and modify the instruction, student's use of a tool, or a communication task. ABI authoring tools support and facilitate the conversion of existing materials to the ABI instructional format.
As indicated above, an agent unique to each student 101 is important in the ABI system. A student's agent is comprised of agent software 108 in conjunction with a student data object 109 unique to each student. As the agent software monitors its student's instruction, it builds an adaptive model of its student in student data object 109. Guided by this model, agent software 108 acts, first, to manage or control the student's instruction, and second, to directly guide the student in order that the total ABI system can present education to each student in an optimal fashion best adapted to the student's evolving abilities, skills, and preferences. In other words, the agent becomes a virtual tutor by acting as a student's personal and individualized tutor. First, the agent manages or controls instruction of student 101 by directly controlling materials engine 102 in its presentation of materials data 104, 114, and 115 through interaction with the materials engine, as represented by arrow 111. The agent preferably manages or controls the materials engine in two manners, synchronous with materials data presentation, such as when the materials engine encounters an appropriate notation in the data, makes an agent request, and waits for an agent response, and asynchronous with the presentation, such as when the agent software adjusts control parameters which the materials engine references at decision points. Examples of synchronous control are an' instructional material asking the agent for permission to allow the student to use a tool, to receive a hint, or to be given remediation, or a communications material asking the agent for permission to permit the student to engage in a particular type of communication with certain other students. An example of asynchronous control is the agent setting of pedagogic parameters, such as coaching parameters that the materials engine uses to adjust its presentation, according to the pedagogic characteristics of the student. Exemplary coaching parameters include the time pacing of exercises, the new concept seeding rate and the density of examples. In this manner, the materials can present interactive instruction according to optimal values of the pedagogic characteristics or cognitive styles of each student as determined from the agent's observation of its student. Second, agent software 108 directly guides the student by exchanging communication with the student, as represented by arrow 112. Student communication also preferably occurs in two manners, synchronously, in which the student directly makes meta-requests of the agent tutor and receives meta- responses and second, asynchronously, in which the agent tutor itself generates a meta-response in response to some instructional event. Herein, requests and responses are prefixed with "meta" when they are exchanged directly with the agent. Meta-requests include student questions to the agent - for example: How am I doing? What should I do next? Could you say that another way? - or student requests - for example: I need a hint,- I need help. The agent responds to each student question or request. Agent meta-responseε can be generated, for example, when the student takes too long to complete an exercise, when the student makes a series of repeated errors, or when the student achieves good performance. Agent meta-responses can be drawn from such categories as reminders, encouragements, reinforcements, paraphrases, jokes, progress summaries, and so forth. Communication with the agent, represented by arrow 112, include direct student meta-requests that generate agent meta-responses . Other communications derive from instructional event messages generated and communicated by augmented notations in materials 104, 114, and 115. An event received by the agent can generate no meta-response at all or alternatively can generate an asynchronous type agent meta- response. At educationally significant points, as the materials sequencing logic presents display objects to the student and receives inputs from the student, the materials data author places one or more notations. When these notation are referenced, called, or executed, important variables and parameters educationally relevant at this significant point are gathered into a message, along with an indication of the type of the educational event. These messages are events which are then sent to the agent. For example, an educationally significant point is the beginning of a new instructional sequence. The corresponding event message can include an indication of the topic to be covered, the expected level of difficulty, the expected time to complete, and the educational paradigm adopted. Another educationally significant point is the receipt of a wrong answer. In response, the materials can generate several messages: a first message can include the time required to make the answer, an indication of the type of error, and an indication of whether the answer is completely wrong or only a near miss,- a second message can include text parameters ("say-it" type message) if the agent chooses to make a specific text or spoken comment about the error,- finally, a third message can include the screen location best representing the error ("point-it" type message) to use if the on-screen agent chooses to point to the error or move to the location of the error. Another educationally significant point can be a long delay in receiving the next student input, at which point the materials engine can send an asynchronous message indicating the time elapsed. Tools data 115 generate events similar to messages from instructional materials. Communications materials 104 can generate events recording a communication request or an initiation of communication with certain other students for a certain task. In the case of shared work on one materials, communications materials can generate events recording how this student in progressing with the shared materials,- in the case of a contest such as a spelling bee, events recording how this student is progressing in the contest with respect to other contestants .
In addition, in a preferred embodiment agent software 108 also receives messages describing the progress of the student through specific instructional materials. For example, in the case of mathematics materials, such messages can include information that the student is making errors in problems requiring finding common denominators . These event message should preferably all information that can be of interest to teachers and administrators for tracking student progress and tracking course adequacy.
It is important that communication between the student and the agent be engaging. Agent communication preferably utilizes all the modalities of input and output available in a particular implementation of this invention, including text, audio displays such as voice and sound, and video displays such as graphics, animation, and realistic movie clips. For example, in the case of a communication triggered by good performance, the agent can select the display of sound and video clips, from a data snips library, that the student finds pleasing. The agent can further make reward graphics available on the student's screen for a period of time. On the other hand, in the case of error the agent can point to the screen location of the error.
Further, it is highly preferable that the on-screen agent can assume various display personae during student communication. Herein, persona means the effect conveyed to the student of the combined and coherent presentation of multiple display modalities to emulate a particular, apparently living, personality. For example, in the case of elementary education, this can be the selection of tone and animation to emulate a pleasant animal or a known cartoon character. In some cases, characteristics of the display persona can be selectable by the student according to the student's preferences. In other cases, the personae can be specified by the instructional materials, the teacher or the administrator overriding student persona preferences. Personae for an elementary school student can be selected from well-known cartoon characters and can perhaps be called "Study Buddies™." Persona for commercial or corporate education can be adapted to the organizational ethos and can perhaps be called a "Concept Coach." Presentations for intermediate levels can be called an Electronic Learning Friend ("ELF") . Even though the ABI system through its network, software and database acts as the student's virtual tutor, from the elementary school students point of view, the "Study Buddies™" are his/her personal tutor. Realism in voice, gestures and movement reinforce this relationship.
Agent software 108 in the ABI system builds an adapting pedagogic or cognitive model of its student in student data object 109 that is independent of the specific materials. Event messages to the agent software from the materials engine preferably include the information from which this model is built. In general, event messages must include such content as is necessary to describe and parametrize the pedagogic or cognitive style models adopted by the materials in an implementation of the ABI system. In an preferred embodiment, the student data object 109 collects all the permanent data about the student maintained by the ABI system. The data objects for all the students are collected for permanent storage in a database system. Preferably, this is an object oriented database, although this data can be advantageously stored in standard relational databases. In an alternative embodiment, however, the various subtypes of student data in the student data object can be separated into separate objects and stored in separate databases. In particular, it is possible to store the materials specific progress data separately from the materials independent global student data. Preferably, the student data object is stored as one structured object. Alternatively it can be stored as a plurality of objects, each object of the plurality perhaps storing only one subtype of data.
The student data objects are accessed not only by the agent software 108, but also by teachers and administrators 106. As depicted by arrow 110, the data object is referenced by the agent in order to generate its actions and is updated by the agent as it processes events and student meta- requests. As depicted by arrow 113, the data object is referenced by teachers and administrators in order to track the student progress and to generate reports concerning the students and materials in the ABI system. Teachers also update the data object to enter schedule information for the student's assignments. Administrators update the object in order to enter the courses and materials the student must master and specify standards and criteria the student must meet .
5.1.2. Exemplary Implementing Structure Figs. 2A and 2B illustrate an exemplary preferred structure implementing the principal conceptual and functional components of the ABI system as illustrated in Fig. 1. A preferred implementation of this invention is based on a plurality of computers interconnected by a network. Preferably, although all system functions can be performed on all interconnected computers, certain computers are specialized for certain functions, such as student client systems for providing student access or system servers for storing system software resources. Therefore, an exemplary preferred ABI system includes one or more student client systems 201, at which student 202 receives instructional presentations including homework. Other student clients are generally indicated at 203 and can be located at school, at home, or at the office. The system further includes one or more servers 204, at which teachers and administrators 205 gain access to the system. Alternatively, they can access the ABI system at their own client computer systems. These components are interconnected by a network which consists of transmission medium 206 and local attachments 207. Although the network illustrated in Fig. 2A is of a bus-type configuration, as in a local area network perhaps using collision detection or token passing protocols or both, this invention is adaptable to all forms of networks which support adequate transmission protocols, such as those that are functionally similar to the TCP/IP protocol suite, and as appropriate, ATM technology. Thus, the invention is adaptable to networks constructed from switched or non- switched links to a central server, which can be configured of several LAN attached server systems, to networks including CATV cable or optical links, to networks including radio links either terrestrial or satellite, and to public or private packet switching networks.
A preferred public packet switching network to which this invention is adaptable is the Internet. ABI system nodes can be linked to the Internet in any convenient manner known to those skilled in the art and can include security boundaries (known a firewalls) to prevent unauthorized access. Alternatively, an ABI system implementation can be an "intranet," that is a network constructed according to TCP/IP protocols but using private links of the types enumerated above, and as appropriate, ATM technologies. In more detail, student client system 201 includes memory 208, which is RAM type real memory or a virtual memory based on RAM type memory and a backing store. Preferably, to reduce size and cost, the client system has no permanent disk storage. When available, a preferable student client can be a low cost network computer ("NC") . A NC is a computer with processor, RAM, and network interfaces sufficient to access intranets or the Internet. A NC is preferable in cases when high-bandwidth network access is available. In cases of low- bandwidth network access, the client system can have one or more disc drives 209 which can be used as a pre-fetch buffer or a read-only cache. The" disks preferably are magnetic, although in a less preferable embodiment they can also include CDROMs . This optional capability serves to enhance communications efficiency in cases where the network has relatively low bandwidth. Large files can be downloaded in advance of a student session or the student client can cache read-only data across sessions obviating the need for downloading such files. Such caching requires the operating system components to maintain some form of version control of the read-only data. In any case, the student data object, which contains all permanent and read-write student data, is stored between sessions on a server. This permits a student to access the ABI system services from any available client system at any time by simply downloading the student data object to that client system.
The student interacts with a client system using any appropriate interactive input/output ("I/O") modes 210. For input, standard devices include pointing devices, such as mouse 211 or a trackball, age appropriate keyboards, optionally speech recognition, and so forth. Speech recognition will permit brief conversations with the "Study Buddies™," or other personae, in limited areas. The invention is adaptable to special input devices appropriate for particular groups, such as the handicapped, and to devices yet to be constructed. Virtual reality ("VR") interface devices such as VR gloves and VR display helmets can have immediate applications for special needs students. For output, preferable devices include computer display 212, for displaying objects such as text, graphics, animation, and video, and audio output devices for voice and sound clips. The audio and voice can be constructed from data snips stored as digitized sound files in libraries. Alternatively, voice can be synthesized from text. The invention is also adaptable to special output devices for special classes of students, e . g. the handicapped, and to new devices being developed. Fig. 2A also shows an exemplary screen layout for a student client that exemplifies the principal functions of this invention. The screen is preferably partitioned so that principal components of this invention are displayed; and important student actions are represented by icons or buttons. Thus, the screen includes materials and tools area 220 to the left, agent area 215 to the right, and a system toolbar 218, which includes a student customization area 221 at the top. The size of the1 screen partitions illustrated preferably change from time to time in response to student customization or display requirements. In particular, either the materials area or the agent area can enlarge, perhaps up to the entire screen as needed. Materials area 220 is for the instructional materials, tools, and communication materials to present visual display objects and for these components to receive interactive input. This area is further subdivided into display region 213 and a materials specific toolbar 214. On-screen agent area 215 is for the on-screen agent to receive meta-requests and to display synchronous and asynchronous meta-responses . Also illustrated is an exemplary on-screen agent consisting of a single persona 216 and a meta-request icon 217. The persona can move to other screen areas as required. Both these components are illustrated as appropriate for elementary education. Other visual appearances would be appropriate in other situations . The system area at top includes toolbar 218 for selecting particular available system components. In particular, always available on this toolbar are selection icons 219 for the calendar and scheduling tool. Part 221 of the system area can be reserved for student customization, for example for the display of reward graphics "given" to the student by the agent or virtual tutor. Functionally illustrated in Fig. 2A is an exemplary memory organization of a student client system when a session is in progress with materials being presented. Layer 222 comprises operating software and network communications. This software provides, among other services, support for I/O devices attached to the client, a file system with cache control, lower level network protocols, such as TCP/IP and ATM, and higher-level network protocols, such as HTTP V2.0. Basic shared ABI system capabilities are provided by executive software 223. The executive software verifies student identity and access authority, establishes communications sessions with the system servers as required during client start-up, downloads from the student object database the student data object corresponding to the student in session at this client system, downloads instructional materials scheduled for this student, and download executable software required from the systems servers as-needed. The instructional material and the software are read-only and are not changed. The student model is updated by the agent during the student session and modified parts are uploaded to the student database on a server for storage Such downloading can utilize higher level network transfer protocols, or alternatively, directly use lower level network protocols
Agent software 225, certain parts of student data object 226, and certain instructional materials software 224 have already been downloaded The materials are displaying CDjectε m screen area 220, forwarding events to the agent and receiving agent management or controls, as indicated by arrow 227 The agent is displaying its persona(e) in screen area 215, interacting with the materials, as represented by arrow 227, and is referencing and updating data in student data model 226, as represented by arrow 228
Finally, the student client system further includes standard components not shown, such as a microprocessor and input/output interfaces. Alternative implementations of the student client system are within the scope of this invention. In particular, student client system function can reside on a server system. Further, the client system can be implemented as two machines, wherein a first machine performs substantially all the computations and a second machine is for student interaction and sends student input and receives display instructions from the first machine
The ABI system further includes one or more server systems 204 of Fig. 2B with sufficient large capacity discs 230 for storing all student data objects in the student database, all instructional materials, and all software used in the system. The network is used to distribute the software, student data objects and instructional materials form the servers. In alternative embodiments, there can be more than one server with software and data component storage divided as convenient across the servers. In a further and less preferred embodiment, the server can be a central host system. In comparison to the client systems, servers preferably have increased performance and higher speed network connections 231 in order to make this stored data quickly available to the one or more student client systems. Access to the body of student data allows teachers and administrators to track student performance by class, grade, subject, school and so forth. This statistical data is also input into agent processing.
The server systems are preferably configured as shown in Fig. 2B and are loaded with software 232 providing the following function. First, there is operating system, network services, and file server layer 233. In addition to the functions of layer 222 in the client system, layer 233 also provides a file server facility including file backup and version control. System manger 234 includes facilities for access control, authenticating student access requests and limiting file access to authorized users. For example, students can be limited to only their personal files,- parents to their children's files and curricular related data; teachers to files and student data objects for their classes,- while certain administrators have unlimited access. The system manager can also maintain any necessary system logs. Student data object database 235 is explicitly illustrated Student data objects reside on the server systems when the associated student is not in session. These objects contain the data which is the source of all teacher and administrator reports, data by which these staffs schedule student courses and assignments, and data representing the pedagogic model of the student used by the agent software. Instructional materials databases 240 and directories of executable software also reside on the server systems. When group communications is in use, agents and communication tasks monitoring the groups can reside on the servers. The servers also contain areas 237 for administrative data and for reports and report software of interest to the administrative staff. Finally, the servers contain teacher areas 238 for data and report software of interest to teachers.
Further, certain instructional materials can be made available specifically for the teaching staff, along with an individualized teacher agent acting as a virtual tutor for the teachers. The facilities of the ABI system can be used to simplify teacher familiarization and system training. For example, such teacher training can be user instruction in the ABI system itself, or can be teacher versions of student materials designed to assist the teacher in his/her use and customization (in the nature of today's teacher versions of textbooks) . Further, there can be teacher specific tools, for example, to assist in generating student reports and class management. In this case the server system contains special instructional materials and associated teacher data objects 236 for performing this instruction. Client systems for teacher access have agents unique to individual teachers . Alternatively, the flexible server structure of the system permits administrative and teaching staff to perform their specific tasks on any computer system with enough computing resources to support these tasks . As for student access, necessary system components are downloaded from servers to these temporary client systems. Thereby, these personnel are not limited to sessions on server systems. Further, materials authoring can be done on server systems, client systems, or on separate systems not interconnected with a given ABI system. To make authored materials available, they are transferred to and indexed in the appropriate server system databases.
Alternative implementations of the functions described for the student client systems and the server systems are also within the scope of this invention. For example, it is known to those of skill in the art that by the use of various technologies, such as remote procedure calls or messaging, the functions pictured here as grouped together and on one system can be divided and distributed if needed.
5.2. System Hardware and Operating Software
The system elements illustrated in Figs. 2A and 2B can be constructed on standard hardware platforms meeting the requirements discussed in this section.
5.2.1. The ABI System Network
The utilization of a network is central to the ABI system. It is important that students or teachers be able to access the ABI system from any adequate client system anywhere at the school, at home, and when away from home, as in distance learning. Networks permit students and teachers to participate at more than one school, and, further, permit delivery of homework and instruction to remote locations. In each case the client system must access student data objects, instructional materials, and ABI software from the network. Access to all system components is typically provided from ABI system servers attached to the network. It is preferable, to use a single large network server in place of several smaller network servers. In all cases, it is preferable to store the updatable student model objects on server systems, in order that they can be downloaded to whatever client system a student accesses. It is also preferable to provide read-only software and read-only instructional materials from server systems. The advantages over local storage of these elements at client systems include simplification of version control and of access control . The student is freed from insuring the client system accessed has all the necessary software and manually transferring if not. Also server storage provides greatly reduced client system storage requirements, in view of the large amount of software and instructional materials in ABI systems. However, in systems with limited communication bandwidth, it can be preferable to cache recently used software and instructional materials m order to shorten response times. Networks suitable for an ABI system can be of any configuration and protocol that meets the system's client- server communication and object transfer requirements, where the client is either a PC or a network computer ("NC") . Suitable networks can be private or public. The preferred ABI network in the case of PC clients, according to current technologies, is an intranet running the TCP/IP protocol suite and utilizing ATM technologies as appropriate. In one implementation, utilizing a single large server, such a server can be directly connected to the intranet or Internet. In another implementation, utilizing several smaller servers, these servers can be connected into a cluster by a LAN, preferably an Ethernet LAN. In this case, the ABI network is built from a local Ethernet LAN with remote connections to telephone lines using 28.8 Kbps modems, or other network links. In an alternate implementation, the network can by visible to the public Internet if adequate security systems (firewalls) prevent unauthorized access. This can make wider access available at lower cost than by switched telephone remote connections . The ABI LAN can be further connected to other ABI LAN's and to other networks, such as the Internet, by standard use of routers and gateways. An exemplary protocol for an ABI System network is TCP/IP supplemented with a client-server protocol such as HTTP and object transfer protocol, such as a multi-format mail protocol. ATM technologies are used as appropriate . Remote clients are expected to be indirectly connected to the ABI network. These connections can consist of routing over a public network cr direct dial-in connections. These connections can be of either low-speed or high speed. The ABI system can be implemented on networks such as @Home (Mountain View, CA) , which use a combination of ATM, cable modems, TCP/IP and other technologies. The ABI system can also be hierarchically configured on new network topologies for distance learning in areas with limited communications infrastructure. Primary central servers with ABI software and instructional materials communicate with remote secondary servers over broadband satellite communication systems. Student clients connect to the local secondary servers through wired or wireless means .
5.2.2. The Client System Considerations governing the choice of client hardware and operation software are described next and are followed by a preferred client node system according to today's technology. These consideration depend on the content of an ABI system and the facilities of technology. As the content of a system changes and as technology evolves these consideration dictate that the preferred system will change.
The client hardware consists of client input/output ("I/O") , client CPU and memory, and client network access. Turning to the client I/O requirement, standard input devices such as keyboard and mouse, or other pointing device, are preferable. Color graphics output capability adequate to support partial screen animations is preferred. Sound generation and output are preferable on ABI client systems. Text-to-speech conversion can be done either in software or in hardware. When economically available, full video capability, for example by providing video decompression hardware such as MPEG decoders, and speech recognition, for example with hardware assists, are also preferable.
The ABI system is also adaptable to special I/O devices appropriate to special student groups, such as the very young or the handicapped. These include, for example, simplified keyboards, touch panels, VR devices, and so forth.
Client memory must be sufficient to contain resident operating system components, resident ABI executive software, and dynamically loaded segments of the student data object, instructional materials, and code. High performance CPU's together with high performance graphics hardware and memory is preferable to enable more advanced presentation effects.
In embodiments where part or all of the ABI software is implemented in special languages, hardware or software assists for these language are preferable. For example, where such a special language is JAVA™ (Sun Microsystems, Mountain View, CA) , JAVA™ chips, which enhance performance of the JAVA™ interpreter, are preferable. The ABI client node in certain embodiments can be a JAVA™ enhanced network appliance adapted to Internet communication access and the HTTP V2.0, or equivalent client-server protocol.
It is preferable to eliminate the need for permanent data storage devices, such as hard disc drives, by downloading all client software for each session. This allows the use of low cost 'network appliances' as student client computers. However, for those clients with lower speed network access asynchronous downloading can be used. Storage devices such as hard drives can be preferable for prefetching or caching of read-only software components in order to reduce start up time. To download 4 megabytes of software using, for example, a 28.8 Kbps modem takes over 20 minutes. In the case of caching on student client, standard version control methods known in the art are necessary to ensure that only up-to-date software and materials data are used. If an element is found to be out-of-date by querying a server, the current version is downloaded. The student data object is not be cached between sessions since it can be accessed from other client systems.
Client communication hardware can be adapted for either local or remote attachment. Local access requires network access hardware,- remote access requires a communication capability. This invention is adaptable to lower speed access over switched telephone line services, preferably using 28.8 Kbps modems or ISDN interfaces (64 or 128 Kbps) . These bandwidths are adequate for sessions with materials using only voice and limited animations. Prefetching and caching can be required to make fullest use of other materials at this bandwidth. This invention is also adaptable to high speed access over any available high speed links, such as Tl (1.5 Mbpε) , T3, ADSL telephone lines, or cable modems (several Mbps) , or other means of high speed access. These bandwidths permit full access to materials without limitation. If economically available, high speed - access is preferred. With greater communications bandwidth, the on-screen agent can appear more life-like.
Standard client software includes an operating system and communication software. The operating system preferably has interfaces to client I/O devices including communications capability and network access, such as a TCP/IP stack. ATM interfaces are present if necessary. Preferably, it also has means for establishing sessions with servers, for providing file server services, and means for security as specified shortly.
The implementation language or languages of this invention preferably have several features related to the implementability, maintainability, and extensibility of ABI. The implementation language preferably provides a degree of modularity similar to that provided by object-oriented programming languages . It preferably provides means of dynamically loading acrosε a network and executing additional software segments during program execution. It preferably provides means of accessing all input devices and of controlling the output devices in a high level display object fashion. It preferably provides a threaded or multiprocessing capability. Less preferably, this invention can be implemented in any computer language, including aεsembly language.
In view of these needs and in view of the current technology, a currently preferred client system is a IBM type PC with a Pentium™ 120 Mhz processor, 16 MB memory, a 1 GB disk drive, a Soundblaster compatible sound card with speakers, a medium performance graphics card such as a Diamond Stealth card with 2 MB of graphics memory, an Ethernet card or a communication card and a 28.8 Kbpε modem, and standard keyboard and pointing device such as mouse. The operating system is Windows™ 95 with network services provided by a World Wide Web browser equivalent to Netscape 2.0 or better and capable of running Java™ applets. Java™ together with standard system and graphics classes is the implementation language.
5.2.3. The Server System
The primary function of the server systems of this invention is to store databases of executable software elements, of student data objects, and of instructional materials . The latter two consist of heterogeneous and structured elements . Theεe elements can be stored in a relational database such as supplied by the Oracle Corp. or the Sybase Corp.; they can be stored aε specialized data files,- or they can be stored in an object-oriented database system such as ObjectStore (Object Design Inc., Burlington, MA) . The operating system of the server nodes must support whatever database systems are selected as well as network and application server software to access the databases. Application database server software of this invention preferably provides database access and version control and downloads database elements on client request .
The preferred server hardware and software can vary widely depending on the number of clients to be simultaneously served. This number can vary from 20 at one school to more than 5000 across an entire school system. The number of servers and database distribution across 'a server cluster can be adjusted by means known in the art to satisfy projected peak loads. A suitable medium performance server system can be configured on a high end INTEL Pentium or DEC Alpha system with adequate memory and disk space. Windows™ NT is an adequate server operating system, and Internet server software similar to that from Netscape is adequate for network access. The preferred database is an object oriented database such as ObjectStore. In this embodiment, application database access uses a common gateway interface ("CGI") program also providing database access and version control. The CGI access program can be implemented in C++, a suitable object oriented programming language capable of accessing interfaces to ObjectStore databases.
5.2.4. ABI System Security Security and access control present additional client and server requirements which are importantly part of an implementation of this invention. Security and access control can be maintained by careful selection of management policies, security software, and security hardware. These elements are described in this section in the order of authorizing and controlling access, operating system and network security requirements, and implementation language issues.
In a preferred embodiment, the primary means for authorizing and controlling access are pasεwordε . Syεtem management of passwords preferably includes ensuring that user passwords are secure, not easily guessed, and are periodically changed. This invention is also adaptable to any other means of access control, including for example, pasεive and active identification cards and recognition of certain personal characteristics, such as voice. Access protection can be preferably provided by limiting access to system resources - database and file - based on a user's password. For example, access protection can be implemented in the CGI application access programs .
The operating system in clients and serverε of this invention is preferably of a tested security level. This base security can be enhanced by a variety of techniques and tools that can provide increased levels of security for additional investments. Such techniques and tools include firewall machines, that is dedicated network gateways than filter incoming and outgoing packets according to content criteria, and monitoring software, such as tripwires, that observe system events for suspicious combinations. Further, encryption can help protect sensitive and valuable data from illegitimate access by those without the key. Encryption in hardware and software can be provided according to methods known in the art, such as the Rivest-Shamir-Adelman (RSA) public key algorithm or the data encryption standard private key algorithm.
For those embodiments and materials data that download executable code segments, the implementation language importantly should address the security exposures thereby created. For example, a malevolent and knowledgeable user can create or modify the downloaded code to perform illegitimate operations within the client system or access restricted information from the server. The Java™ language is preferable in these embodiment because it now significantly addresses these problems and further improvements are constantly being made. Examples of Java™ security measures include limiting access to client system resources, particularly the file system and network connections, preventing downloaded software from 'spoofing' local software, and providing byte-code verification to test code for possible security violations. Any implementation language for an ABI system preferably offers similar or improved security features .
5.2.5. ABI System Usage Metering
Each student receiving ABI instruction on a specific topic is presented with a combination of instruction, utilities, and on-screen agent interaction. Because the ABI System provides individualized interactions, each such presentation comprises a unique mixture of visual, audio, and software elements. Also, each user's consumption of hardware and communications resources differs . The ABI System therefore preferably incorporates metering technology to track the utilization of the different elements of the ABI Syεtem. Such information can be used to determine payments tc the creators or providers of these elements and/or as a basis of charges to the user. Further, this information can be used by ABI System providers to determine absolute and relative usage of various components of the system. Parties interested in such information include providers of server hardware, application software, networks, instructional and tool content, authoring tools and on-screen agent animations, scripts and utterances. Finally, this information can be used to monitor system performance and utilization.
Current metering technology does not provide the detailed measure of usage that is advantageous to ABI System providers . Such technology adapted for network distribution of content is available from, e . g . , the IBM Corporation, aε the IBM Cryptolope, and Electronic Publiεhing Resources (EPR) , as the Digibox.
The ABI syεtem comprises hardware elements, standard software elements, special application software elements, and content elements typically supplied by different providers. Hardware elements include networks and other communications links, server CPUs, and disks. Standard software elements include operating systems, database packages, and communications software. Application software includes instructional playback engines, schedulers, and agent software. Content includes instructional materials, utilities such as dictionaries and encyclopedias, and on¬ screen agent animation and utterances . ABI metering comprises the elements of the metering utility software, of tagging of all ABI component elements, and of the preferred methods of monitoring. The pricing and compensation model is preferably provided by syεtem administrators. The ABI Metering Utility Software ("The MUS") measures usage and maintains usage data in a 'multidimensional usage model' during each student session. The MUS is resident at run-time on the student clients and the system server(s) . In the student client, the MUS is a component function of the Session Manager with inputs derived from the Executive Software, Agent Software and the Materials Engine. In the Server system, MUS is a component function of the System Manager Software.
To facilitate metering, each ABI element is tagged with an ownership identification code similar to a product barcode. The first digits indicate ownership and subsequent digits indicate the specific component. Aε the elements move through the εyεtem from server to client and within the client, the use of theεe elements is metered. In the client software, the Materials Engine uses materials ownership tags to meter content. The agent utterance generation and visual display generation uses tags of the data snips to track ownership of on-screen agent actions. The sesεion and εcreen manager keepε track of which element of the screen is active. This invention is adaptable to any method for measuring usage appropriate to the particular component elements. In particular, four preferred methods of measuring usage are by- time, by-interaction, by-unit and by-packets. The by-packet method is performed at each server to track usage of communications resources. This method is preferably implemented by using a count of the number of bytes transferred in order to estimate the number of packets transferred. The ABI application software keeps track of counting the number of bytes transmitted to the user according to content type (i.e. system packets, instructional materials, or elf animations) . Then based on the network transfer protocol used, the byte count may be converted to a roughly equivalent packet count. Alternatively, the byte count may be used directly as a measure. In the case of multiple servers, each server sends a summary of packet transmission information to a unique metering utility server. The by-elapsed-time method is performed at the client. In this method, the Screen Manager at the student client keeps track of the multiple simultaneous on-screen activities such as instructional materials, the elf, and the dictionary. This method preferably further monitors the active element of presentation, that is, the element performing an action or the focus for student input. In a more limited alternate implementation, the connect time of the student may simply be measured at the server. To avoid network problems such as lost connections and missed session signoffε, the System Manager application at the server additionally periodically obtains session statistics during a user session, either by polling the student client or from timed client downloads.
The by-units method is preferably implemented either at the server or at the client. This method measures the content accessed by the client. For example in the case of instructional materials, the server records the εpecific lesson accessed while the client records the completion of exercises. In the case of on-screen agent actions, this method records each completed display or animation sequence or utterance.
The by-interaction method is preferably performed at the client and records both fine-grained interactions, such aε clicks and keystrokes, and the medium grained interactions, such as completed responses and metarequests . This method when combined with the by-time or by-units methods provides an indication of the relative level of interactivity of the instruction. For example, during use of instructional materials, the by-interaction methods measures the actual usage of each resource such as agent processing. Usage of the different ABI elements is preferably metered by an appropriate method. The methods described abcve are not uniformly advantageous to different types of presentation. A graphics designer might seek compensation based on the amount of time a design is on the εcreen, while the instructional designer might seek compensation based on the fraction of the lesεon completed. Accordingly, the by- elapsed-time method is preferred for graphics designers, while the by-units methods is preferably used to record the publisher and lesson for instructional materials, the type and author for toolε material, and the creators of the animation and utterance for on-screen agent actions. The by- packet method is preferably used to record the source of the network traffic such as access to the student object database or downloading of application software, inεtructional materials, or animation data snips. The preferred metering methods provide information needed for the typical owner compensation and user pricing models.
In its preferred embodiment, system administrators provide pricing and compensation models. This invention is adaptable to many alternative such models. One user pricing model is a flat rate based on the type of instruction being made available, similar to pricing in the cable industry. Another is based on connect time, as frequently done for Internet accesε, or on type and quantity of information retrieved, aε iε common for on-line database access.
TABLE 1A illustrateε an exemplary model for compenεating providerε of ABI εystem elements. Compensation iε based on metering data and an allocation model . The four metering methods are applied selectively to different providers. The allocation amounts 'a', 'b', 'C and 'd' are externally determined.
TABLE 1A: TYPICAL MODEL OR USING METERING INFORMATION
Figure imgf000047_0001
5.3. The Instructional Interface The ABI system has interfaces for students, teachers, and administrative staff . Materials and software developers can have specific ABI system interfaces. Alternatively, such development can occur on separate syεtemε followed by indexing and loading of the developed components into the appropriate databases.
5.3.1. Student-System Interface This section describes the structure and design of the student-system interface. This description is directed to the currently preferred implementation of this interface by a series of visual display screens. However, this invention is not so limited, and adequate alternative technologies, for example voice output with speech-recognition input, can be used to implement this design. 5.3.1.1. Exemplary Student Screens
During materials presentation, a student sees screens of one or more screen types, all formatted in accordance with the previously described design principles. Screens are structured as a hierarchy of areas and subareas with text, graphical, animation, and perhaps video objectε displayed in the subareas. Objects can either be for display only or permit student input or interaction.
An important εcreen type is a task screen. Task screens are used for materials presentation taskε such as homework assignments including problems, programmed steps, mastery quizzes, and drills. Table 1 and Fig. 3 illustrate exemplary components of a task screen appropriate for elementary education. Reference numbers in Table 1 are from Fig. 3. In general, in syεtem area 302, the εession manager presents objects visualized as icons permitting the student to easily access ABI syεtem facilities. In materials area 304, object presentation including description, placement and movement, is εpecified by the materialε deεigner in the preεentational and sequencing sections of the materials data. The materials engine interprets theεe εpecification at run time to send display objectε for display. In agent area 303, agent behavior processing formats predefined parametrizable objects, including resolution of object parameters, representing selected agent personae. The output from all selected and formatted display objects is sent to the executive software and operating system for ultimate display to a student .
TABLE 1: STUDENT SCREEN DISPLAY ELEMENTS
REF
NO. NAME OF ELEMENT DISPLAY OUTPUT OBJECTS creen Entire ABI display area
--System Area
-Customizable Graphics and text
(can be animated)
-File System Book icons with titles
-Scheduling Toolbar | -- MMoonntthhl]y Calendar Graphics ] --Clock Dynamic graphics
-Toolbar Icons of tools (for calculator, word processor, dictionary, communications, etc.)
Materials Area Open Book Graphics of book outline --Section Tabs Graphics with text --Exercise Area Text, graphics -Header Text, graphics -Presentation Text, graphics, animation, video
--Input Interactive objects
(buttons, etc . ) , filling in text, dragging, drawing
-Navigation Buttons Graphics -Student Action Icons for Submit, Help
Figure imgf000049_0002
Sched. /calendar Graphics for calendar with text of student schedule, icons for scheduling options
Figure imgf000049_0001
On-screen Agent Area --Audio Synthesiε of εpoken utterance
318 --Text Message Text utterance 319 --Visual Persona (e) Appearance integrated with audio, graphicε background effects
Interaction with other screen areas
320 --Agent Request Agent meta-request icon, generateε pull-down menu of meta-requests
In more detail, the task screen of Fig. 3 includes in system area 302 student customization area 305. In the customization area, the student can display objects given by the agent as rewards for student accomplishment. These objects can include text, as illustrated here, graphics, or animations. Another part of the system area is file system toolbar 306 displaying accessible files as icons in a "book- Gr.-shelf" metaphor. This invention is adaptable to other reasonable file system display metaphors. Here, for example, the book icons represent a file personal to the student, a file holding ongoing instructional materials, a file of e- mail, and files for tools such as a dictionary and group activity. Below file system toolbar 306 iε toolbar 310 for tools the student haε access to. Illustrated here are icons for a calculator, a word processor, communications, and starfish, a general purpose language tool. "Starfiεh" are a viεualization tool for semantic networks that can be available in an ABI System. A semantic network typically consiεts of nodes linked to other nodes by semantically significant and named links. A starfish tool visualizes such a network for a student by displaying the node centrally in the body of the starfiεh with the node'ε links diεplayed as arms of the starfish. For example, a dictionary represented as a semantic network might include a node for each word with links to similar words, opposite words, root words, and so forth. A dictionary εtarfish displays a word in its body. Each εelectable arm iε labelled with a category - εynonym, antonym, pronunciation and εo forth. Clicking on an arm causes the corresponding word(s) to be displayed or spoken. Such a tool provides integrated display of diverse knowledge structures for a student. The scheduling/calendar tool is an important tool that is always available. Exemplary icon 309 illustrated for this tool has calendar part 307 and clock part 308. Selection of each of these parts brings up daily and monthly scheduling functions. These function can either prescribe the student's next activity or permit choice where the student haε exceεs time or demonstrated personal scheduling ability. In materials area 304, instructional materials, tools, and communications materials display their content. Illustrated in Fig. 3 is page 3 of an exemplary mathematics homework. Instructional materials are advantageously 5 structured as a book of exercises and items, emulating current textbook and workbook practice. In this case, section tabs 312 permit the student to navigate the homework book by sections, and page buttons 321 permit the student to navigate the homework book by page. Also present is toolbar
10 317 of available student actions, which for homework includes submit and can, if the agent permits, include help and hint requests. The format of a materials page is advantageously standardized. An exemplary standardization has header information 314, presentation 315, and interactive input area
15 316.
On-screen Agent area 303 allows the student entry of meta-requests and allows the agent to display synchronous or asynchronous meta-responεeε . This exemplary area illustrated in Fig. 3 comprises meta-request button 320 which the student
20 can activate to display a list of currently available meta- requests . Student metarequests are generally allowed by the ABI εyεtem at any time. Requests may occur at the beginning, middle or end of instructional sequences, in choice screens, in tools, in group communications, or in the calendar. Agent
25 metaresponεeε are individualized and context dependent. Typical metarequests are illustrated in Table IB. As an example of context dependence, if the request 'Where am I?' occurs within a leεεon, a graphic repreεentation of< the leεεon will be shown,- whereas if the same request is made
30 between lessons, a graphical representation of previouε lessons and new leεεonε will be shown. The agent software attempts to respond based on the user's intention and uses the context and previous requestε to infer the reason for the current request .
35 TABLE IB: TYPICAL METAREQUESTS
Figure imgf000052_0001
The instructional materials notations provide a framework for the agent software to keep track of the relative position of the student in the lesson. This same information is also available to the teacher for lesson preview and annotation.
The remainder of area 303 is for agent meta-responses, which importantly have multi-media structured into personae. Illustrated are text mesεage 318 and visual persona 319 that typically includes animation. Also possible is audio output, either text-to-speech or generated from audio files. Fig. 4 further illustrateε an exemplary εcreen interaction between the materials and the agent. Fig. 4 shows only the content of materials area .501 and on-screen agent area 502 of the complete display screen of Fig. 3. A mathematicε homework material is displaying item presentation 503 with input selection buttons. The student has selected wrong input button 504. At this educationally significant event, the materials send to the agent several messages generated by notations in the materials data. In response, the student's agent has chosen to act aε illustrated. First, it displays text 506 of the rule violated by the student answer. This text was sent to the agent by the materials in an event message for its use. Second, the on-screen agent points 505 to the screen location of the error. This location was also sent to the agent by the materials. Third, perhaps in response to a previous high or increasing error rate of the student, the on-screen agent presents a meta- response 508 commenting on the pedagogic nature of the student's error. Further, it activates a persona 507 to engage the student'ε attention. This persona can advantageously include animation, audio, and speech output of the displayed text. Thus, the agent software integrates speech utterances, visualization, display of text and graphics, and animation into a persona display for highlighting an educational event that the agent determined important based its processing of the current input, past student inputs in this leεson, and the student's pedagogic model generated over several sessions .
Other screen types are of importance in an ABI system. For example, tools can have distinctive screen types appropriate to their nature, such as a calculator image. Choice screens can be used at the tranεitionε between inεtructional sequences . They summarize what instructional materialε have juεt been completed, announce status information, and list any materialε choices now available to the student . These choices can related to instructional materials to be undertaken next or to optional, non- instructional materials, such as exchanging credits for time in a game room, accesε to e-mail, and so forth, that can be available to the student.
5.3.1.2. Student Actions
The inputs of a student or other user of the ABI System are preferably classified as requestε, meta-requeεtε, or data. A student request is an input directed to materials or to the system seeking a specific action. Student data iε an input responding to a syεtem requeεt for information. For example, student requests include an input to the system to start the calculator is a requeεt, or an input to certain materials to submit completed homework to the teacher. However, input of numbers into the calculator is data. This invention is adaptable to a further particular type of data input, termed semiotic, in which the student selects certain signs or symbols to provide input. Semiotic input is particularly advantageous when the agent requests the student to report his feeling or appreciation for a particular educational event. Meta-requests are inputs directed to the agent seeking specific actions. For example, student input to the agent seeking hints during the current materials iε a meta-request .
Displays produced by this invention are preferably classified as applications, responseε, meta-responseε, or queεtionε. Application display occurs upon syεtem initiation of an available material, for example, an inεtructional material or a tool. Application diεplay uεually occurε in response to a student request, but can also occur on system initiative. For example, the agent can request the system to make a tool available to the εtudent. Responseε are all displays produced by materials or by the system. For example, responses include materialε preεentation diεplay and diεplay on the adequacy or correctneεε of student input. Meta-responses are all displays produced by the agent. These can be synchronouε, generated by responses to a student meta- request, or asynchronously, generated by events sent to the agent from the materials. Queεtions are a particular form of response or meta-response which seek further student input. Queεtions engage the εtudent in a form of a dialogue which iε an integral :omponent of the tutoring interaction.
Fig. 5 illustrates an exemplary segment of the interaction of the student and the system that can occur during a mathematics homework. It illustrates both how responseε and requests are distinguished from meta-responses, and meta-requests and also how the agent, through its observation of the εtudent'ε current εituation and itε contact with past student history, is able to guide the student better than the materials alone, which are only aware of the current context. This display is individualized to the student'ε current and paεt performance and preferably 5 uεes realistic, life-like on-screen personae to engage the student. Displayε from the ABI System directed to the student are indicated generally on the right; inputs from the student directed to the ABI system are indicated generally on the left,- and time increases downward. The diagonal arrows,
10 as at 401, indicate that the message at the arrow's tail leads to the message at the arrow's head.
This illustration begins with response 402 from the mathematics homework materials suggesting that the student use the calculator tool. The student responds with request
15 403 which selects the calculator icon to request the calculator. Calculator application 404 iε then activated and displayed by syεtem componentε. Data 405 is a εtudent input to which the calculator tool, and response 406 indicates a student error. This reεponεe was apparently not sufficiently
20 informative, and data 407 iε a repeated incorrect input to the calculator tool. The εtudent'ε agent obεerveε the course of this interaction as the calculator tool sends event mesεageε to the agent . Upon observing the repeated wrong input, the agent intervenes with a aεynchronouε meta-reεponεe
25 408 εummarizing recent student inputs. The student responds with meta-request 409 to the on-screen agent for help, since the tool responseε were apparently not sufficiently helpful. The agent's εynchronouε meta-response 410 suggests for consideration an entirely different approach to correct the
30 student's recent error.
5.3.1.3. System Responses
The following general principles preferably guide system and materials responses and agent meta-responses. First, 35 some display is to be made on every user input, if only to echo a character or mouse click. Second, a user is never to be left in doubt about the status of current taskε. For example, the system preferably provides task specific hints or suggestionε if no user input is received in a time period adaptively determined. Third, all responses reflect the current context . Further, importantly, aspects of system responseε εhould be adapted to the particular student audience, from elementary to adult education and including special classes of students. This tailoring can be set by the teaching or administrative staff. One adaptable aspect is the language level and the language of system responses - for example, the vocabulary and language of help services, messages, and tutorials - is preferably adjustable. Another important adaptable aspect is the type of personae of the on-screen agent is preferably adjustable. The types of encouragement, level of jokeε, and so forth, depend closely on the intended student population and are advantageously adjustable. Further, tools are also adaptable. Each tool is also advantageously enabled or disabled for each student . Mail and communications tools, for example, can be made unavailable for the lower grades. File creation and deletion can require strict controls. Also, certain tools can have differing complexity levels suitable for differing student levels .
In addition, certain ABI εyεtem componentε have particular preferable and advantageouε features. These are listed subsequently. Importantly, meta-responεe selection is preferably shaped in view of the student'ε paεt baselines of speed, performance accuracy, modality, as specific to the type of materials. Moving average functions, in which recent values are given higher weight than earlier values, can be used advantageously to generate baselines of performance and timing. The timing of meta-responses is preferably based on student data object fields that record the amount of help asked for in the past and past performance provided. Further, the pacing of meta-responses is advantageously context εenεitive. For example, remediation should be offered only in case of repeated error or hints offered asynchronously only after a relatively long period without an answer. Also, previous student interactions should be utilized. Repeated requests for hints should be noted and dealt with perhaps not with another hint but with remediation. The rate of prompts, advice, and hints should be adaptively adjusted on the basis of ongoing performance ' records .
The actual content of a meta-response can be adjusted to the current situation by filling in parameters from event messages sent from the materials. See infra . The
Instructional Materials Interface Standard ("IMIS") is a key element in providing information to the student in response to inquiries such as "Where am I?". The system then uses the information in the IMIS to respond, "You are halfway through the drill and practice on fractions," for example. A student request for further information can elicit a graphical response. The graphical responseε reinforce the virtual tutoring aspect of the system by providing a greater level of detail in a format similar to that presented by ε human tutor. The format of the graphical method used iε individualized to the student's past use of system components such as previous graphical metaresponses and tools such aε the εcheduler/calendar.
The structural information for the agent software to construct graphical responεeε iε derived from leεεon notations, previous student performance, previous agent responseε (including graphical responses) and the scheduler/calendar. Marker requests use general notations for the type of lessons and specific notations for prerequiεiteε. Temporal requests use notations of expected time together with profile informatioi on individual performance on that type of material .
Typical predefined graphical response templates include roadmaps (perhaps in the form of a train and subway map) , charts, table, graphics and icon flowcharts. Colors can be used to the show relative levels of performance, urgency or dependency of elements. In responεe to a 'How am I doing' request, green might indicate good performance,- yellow, adequate performance,- and red, needs immediate attention. Similarly, the shape of the icon might indicate its function such as a diamond for caution or a hexagon for stop. Figure 12 illustrates an exemplary dialogue starting with the εtudent metarequest 'where am I?' . The on-screen agent then make a metaresponse containing a εummary of the εtudent'ε progress, for example "You are one quarter through the lesson on adding fractions." Next, the student might request further information. Preferably the on-screen agent will point to the location on the diagram and say "You are here." If the εtudent then clicks on an element of the chart, the agent will provide further information. For example, clicking on the Practice Box will provide a metaresponse containing a flowchart of this upcoming activity, aε generally illustrated.
Preferable Calendar/Scheduler Responses And Their Selection
The calendar scheduler is advantageously capable of providing the following responseε. These are controlled by schedule data contained in the student data object and are procesεed by the calendar/εchedule tool .
1. Schedule reminder responses, which remind the student of deadlines for materials taskε in the system or for external activities, such as getting a parent's approval for a clasε outing.
2. . Taεk sequencing εuggeεtion responses, which suggest an order of assigned taskε based on student history and on the asεigned priority and deadline. 3. Timing eεtimate reεponses, which estimate how long a task will take based on timing information entered as part of task in the instructional materials and on paεt relative performance for this student.
In one embodiment, the ABI system provides for of scheduling initiative to be divided between the εtudent and the syεtem. Settable task schedule parameters permit, at one extreme, the student to have complete scheduling control, able to initiate and to exit any activity at will, and limit, at the other extreme, the student to work on only those materials that the syεtem schedules . These schedule parameters include those controlling the tools and optionε available to the εtudent while performing a given task and those requiring the student to perform background reading or remediation. Important initiative parameters include the scheduling values of task priority value and deadline. If the priority and date are not both "off", those tasks with greater priority and earlier deadline are automatically scheduled for the student. If these values are "off", the student has control of task scheduling.
The syεtem of thiε invention also includes a central list of timed activities, perhaps stored on the server εyεtems, to be performed by the syεtem. Theεe can include regular timeε for the generation and printing of εtandard reports or for the broadcasting mesεages concerning group activities such aε spelling bees. Theεe timed activitieε can be performed by εcheduling εoftware which compiles the timed activity liεtε and initiateε the listed activities at their listed timeε . Such εcheduling εoftware can be εimilar to the "at" utility in UNIX operating εystems .
5.3.2. Teacher/Administrator-System Interface The teacher or teacher' ε repreεentative playε an important role in the ABI system. The teacher useε the εyεtem to perform εuch functionε aε entering initial profileε in εtudent data objectε, assigning εtudentε to subgroups, previewing, annotating and scheduling aεεignments, reviewing and commenting on completed homework asεignmentε, and reviewing summary reports .
The agent of the student is also an agent of the student's teacher in that the student' ε teacher controlε key parameterε in the εtudent data object, which in turn controlε agent actions. The teacher customizes the ABI system by setting student data object parameters, assigning and prioritizing asεignmentε, and customizing materials. Important teacher activities are included in the following list .
1. The teacher initializes and exercises continuing control over important data in the student data object, and in this manner εuperviεes the student's use of the system. For example, the teacher controls the access and level of tools available to the student and limits the extent to which the student can alter agent personae.
2. The teacher controls the student's use of the ABI system by assigning, scheduling, and prioritizing the student'ε access to the materials. This is accomplished by teacher control over the schedule subtype in the student model object. For example, the teacher can schedule taskε that must be completed on the ABI syεtem, εchedule non-εystem tasks, remove taskε or modify their priorities.
3. The teacher can customize materials available to the studentε . The extent of routine customization includes modifying sequencing of instructional lesεons, elements, and items, choosing the homeworks the εtudent muεt complete, specifying the formats of homework assignments having some student discretion, such as reports, sending messageε to εtudentε .
4. The teacher's class management is aided by a facility to send mesεages, reminders, hints, etc. to students using the ABI εyεtem e-mail facilitieε.
The system can advantageously asεiεt the teacher in homework management. Once the εtudent completes and submitε a homework aεsignment, a printed copy can be made for the teacher and the student . The homework assignment can be graded by the ABI system, if answers were provided as part of homework material . The teacher can add comments for the student, if homework is viewed online by teacher.
The system can advantageously also provide the teacher with summary and detail reports for each student and class . These reports can be immediately available online or printed for later review. As known in the art, reports can contain both current and cumulative data on instructional progress and homework assignments. The reports can also flag patterns of deficiency in a student's homework and problems in a student's inεtructional progress. In a preferred embodiment, these reports are generated from the database of student data objects on the server systems.
Additionally, the teacher can be a student. A teacher can benefit from training in the use of the ABI system in general, in the procedures to customize materials, and in the characteristics of the particular materialε used in that teacher's class. This training can advantageously be packaged as instructional materials directed to the teacher which are otherwise similar to student instructional materials. In this case, the teacher, like the student, has accessible materialε, a teacher data object recording the teacher's progress and pedagogical characteristics, and an agent using this data object to guide the teacher's training and guide the teacher in the use of the system.
Other actors, such as school administrative staff, parents, and researchers, can play a role in the ABI system. Administrative staff can have privileged access to certain data items in the εtudent and teacher data objects and other system data, which permits them to assign students to courseε, to aεεign students to teachers, and to establish instructional performance εtandardε and criteria which the εtudentε muεt meet to complete their materialε. This staff can also receive online or paper reports on the progress of students in the schools, the effectiveness of teachers, and the usefulnesε of the particular materials assigned.
Reports and Queries
Generation of reports from databaseε, either relational or object-oriented, is a standard programming task. The key elements of this task are the selection of data to appear in the report, the way in which selected data is to be presented whether in a summary form, a detail form, or both, the format in which the data is output, and the layout of data output elements on the screen or page. The teacher and administrators require several types of reports. Periodic reports need to be generated at regular intervals. These vary according to population: by student, by class, by grade, by school. They also vary by subject. 5 The reports can present/summarize complete sets of data or or.ly data exceeding stated limits. Some of these reports fulfill mandatory reporting and record keeping requirements, and some are sent to parents. The ABI system also provides teachers and administrators with standard querying and report 0 generating capabilities.
If appropriate, parents can also be actors in an embodiment of the ABI system. A student's parents can be given access to certain fields in their student'ε data object in order that they can receive rapid information on their 5 child' ε assignmentε and performance. Thiε information can be made available at home on the εame client system that their student receives instruction and homework.
Finally, educational researcherε can receive certain acceεε to ABI εystemε in order to reεearch the effectiveness 0 of educational theories and methods. For example, they can efficiently compare the effectiveneεε of various educational paradigms in certain instructional contexts by receiving reports relating to students pursuing materials constructed according to the paradigms of interest . 5
5.3.3. Instructional Designer-System Interface Designer Interface Overview
Materials, in particular instructional materials, are authored by instructional designers. Authoring of materials can be done on the εyεtem on which the materials are to be
30 used, or alternatively, on a separate syεtem. Generally, an instructional designer authors materials including, for example, computer asεiεted inεtruction aε known in the art, computer assisted exerciseε such a homework or simulation, ,c and computer managed student instructional tasks which can involve work with several materials. For all materials, the student'ε agent muεt be informed of the sections completed and skills acquired in standard formats.
Designer Interface Details The ABI system provides an environment in which the student's agent iε available to con; rol materials presentation and guide the εtudent to improve educational outcomes. This environment includes facilities to present assignments, assess responses, probe for prerequisites, offer asεiεtance with tools such as dictionaries, and score unit mastery quizzes. The system can advantageously include conventional forms of homework, such as worksheets, as well as new types of homework, such as group-based homework, and formats previously too time consuming for teachers, such as criterion based rather than fixed length or interactive rather than prescriptive. Advantageously, the system structure can accommodate existing forms of computer assisted instruction by embedding such existing instruction in materials of this invention which contain notations and generate agent event messages.
All authoring information below can be provided by the instructional designer, if preferred. In this case, defaults allow the teacher to enter only overriding information where needed. Alternatively, the teacher can be allowed or required to make various degrees of customization. In thiε εection, the term "exerciεe" means a single unit of an instructional task.
The run-time conversion of materials with descriptionε of text, graphicε and animation advantageously is performed by methods commonly uεed in interactive multimedia Authoring
Software. Existing authoring programs let the author specify the attributes and behavior of multiple independent display objectε through such programming paradigms as visual programming or scripting languages. For example, to display a button or other selectable object, a user of authoring software specifies such characteristics as position, attributes such as size, shape, color, and label, and the function invoked by the object selection.
Among the most widely used of the many available products are Macromedia's Authorware and Director, Asymetrix's Multimedia Toolbook and Aimtech's IconAuthor. These programε have been documented by their manufacturerε and other writers (Sims, Authorware wi th Style ; Swearington et al . , Macromedia Director Design Guide; Hill, Using Mul timedia Toolbook 3 . 0) . The procesε of authoring an instructional task iε advantageouεly deεcribed sequentially to include the stepε of, for example, defining the task, defining each exercise, judging student inputs, defining exercise completion, and augmenting the materials with notations for the agent. In the authoring step of defining the task, the instructional designer advantageously provides information including initial instructions for the entire task in a written and preferably also a spoken format with alternative wordings as necesεary for special clasεeε of εtudentε. The deεigner alεo provides materials sequencing in accord with the education paradigm chosen. Instructional sequencing iε appropriate for interactive inεtruction with feedback. Homework εequencing can include a fixed order,- a student defined order; a student defined order asεisted by teacher prioritization into εuch priority groupε aε eεεential, important, or optional; and sequencing defined by performance to criterion on individual item subtypeε.
In the authoring step of defining each exercise, the instructional designer advantageously provides information including the following. The designer chooses names for this task and exercise, its prerequisites, and the skills to be acquired in accordance with school syεtem εtandards so that the agent can meaningfully track student performance and provide helps, hints, and remediation. Next, the deεigner provides student instructions for the exercise, preferably in both spoken and written formats. Next, the designer specifies the presentation of the exercise by creating graphics and text for the exercise and by specifying their display attributes. Next, the designer defines allowable user inputs, the data type of input, and the display areas in which input is allowed. Finally, the instructional designer provides hints. Hints preferably include optional hints offered on student request or student inactivity and hints offered by the agent in case of totally inappropriate actions .
In the authoring step of judging student inputs, the instructional designer advantageously provides information including the following. First, the designer defines standardε for the completeneεs of requested inputs and actions, possibly none, in case of incomplete inputs. An exemplary such action iε suggesting the completion of omitted inputs. Second, the designer selectε how inputs are to be judged and the possible judgements, for example, correct, near misε, incorrect, and εo forth. Finally, the designer selectε error reεponεeε to individual input elements or an entire exercise. These responses can be uniform or can reflect the specific wrong answer. Error responses include retry policies and selection of remediation paths. Remediation can be item sequencing options given on the basiε of retry outcome.
It iε preferable that responεe judging be performed according to certain εtandards established for a particular implementation of this invention. Thereby, the agent can monitor the student's pedagogic characteristics in a uniform fashion acrosε all standardized materials. Accordingly, a first step in input judging can be, where appropriate, checking the data type and perhaps range of an input. For example, checking that a fraction is entered in response to a fraction addition problem. Appropriate feedback can be given if the wrong data type or range is input. Single student inputs can include entry of a single text or numeric element, movement of a single display object, selection of a single diεplay object, or drawing-a line or curve perhaps encircling a display object. A second step in input judging can be classification of a suitable input in standard error categories. In an exemplary embodiment, this can be performed by providing a pattern corresponding to a correct answer. The patterns can be a template appropriate to the suitable input, such as a text template or a spatial template. A pattern matching procedure selected from a system library of such procedures can be executed to match the input to the pattern. The output of the system matching procedure is advantageously selected from a limited number of standard judgements of correctnesε and partial correctness. This judgement is then communicated to the agent in an event meεsage in order for it to guide its student and adapt its pedagogic model. Thiε invention iε adaptable to templates and pattern matching procedures known in the art. Patterns can include one or more parametrized text templates, spatial templates defining the relative positions of objects to be moved by the student, selection templates εpecifying patternε of εelectionε. Further, spatial templates can include outlining areaε of the εcreen, εhapeε of drawn objectε, maze traverεal, and tool inputs.
Turning to the authoring step of defining task completion, the instructional designer advantageouεly provides information including standards for input, exercise, and task completion. The materials can require a certain minimum completion before allowing homework submission to the teacher.
The final authoring step is augmenting the materials with additional notations for the agent. These notations concern task and exercise subject, skill clasεificationε, and definition of the educational paradigm embodied in the sequencing logic. It is performed by instructional designers or knowledgeable teachers, and iε expreεεed aε notationε in the materialε that generate event messages for the agent and that reference control parameters set by the agent for control of materials sequencing. The notations so entered communicate variouε types of information to the agent. Exemplary types include characterization of assignment by type of task, subject, elements of subject covered by task; comparison between exercises in same assignment by similarity and difficulty; the subject matter prerequisites to determine what the student may or may not have mastered based on which exercises are answered correctly,- system knowledge prerequisites,- and scheduling information such as average and expected time to complete.
5.4. ABI System Software Structure
Thiε section describeε in a more detailed faεhion an exemplary εtructure for the software components previously described in a more general fashion with reference to Fig. 2. Subsequent sectionε deεcribe particular componentε in an even more detailed fashion. The structure described here is exemplary. This invention is adaptable to other structureε with other allocation of the functionε of thiε invention to different moduleε . Such alternative εtructureε are eaεily designed by those of skill in the arts. This section first describeε the principal client software and data componentε and the conceptual hierarchy which reflectε their interaction. Next, the εtructure of the executive software is described. Finally, the flow and processing of events through the system are described.
5.4.1. Student Client Software Structure Fig. 6 illustrates the principal client software and data components and the conceptual hierarchy which reflects their interaction. The links illustrated represent principal procedure cal or class dependencies among the componentε. At the root of the hierarchy is operating syεtem 601, which haε been previously discussed in connection with the preferred client hardware. The operating system ("OS") includes the operating system proper together with implementation languages and their class and function libraries with aεεociated controlε. At the next level iε executive εoftware 602 ("ES") . Thiε software collects a number of components which customize the operating system to the requirements of this invention and also extend it, if needed. For example, ail OS task creation iε processed through an ES task control facility to insure that the student accesses only permitted materials. The ES εoftware also provides a preferred animation facility and controls client startup.
Session and screen manager 603 is always present on a client system. This component partitions the screen into the areas for the principal syεtem components, as has been generally illustrated by the exemplary screen of Fig. 3, and controls the system area, area 302 in Fig. 3. Thus, upon student selection of an icon presented in the system are'a requesting the ES to start the function represented, it turn checks with schedule/calendar 607 whether the εtudent is currently permitted to access this function before continuing with OS task creation. The system manager also presents whatever reward graphics and animation the εtudent has been granted access. These functions are performed by calling the object level I/O facilities of the OS and ES. Also always present on a client system iε student data object 611 for the student in session on the client. This object, preferably containing all the permanent read-write data in the ABI syεtem relating to the εtudent, is downloaded from the server student database when the student logs onto the client. Preferably, this object is divided into subtypeε, and thoεe only thoεe subtypes referenced are downloaded as required. In an alternative implementation where the permanent student data is stored in more than one object, each object is downloaded from its database as required. As indicated by double headed arrows 608 and 614, various ABI syεtem componentε reference and update data itemε in the εtudent data object.
Schedule/calendar component 607 is important for management of the student by other system actors, such as teachers and administrators. It is a tool that is always active whether or not it has a screen presence. Activities for the εtudent, represented by activity description, priority, and deadline, are entered into the schedule/calendar data εubtype of the εtudent data object by teacherε or administrators. Optionally prerequisite information can also be entered into the schedule/calendar subtype. This component uses this schedule/calendar subtype data as well as the time expected for the student to complete an activity, as determined from the student's past performance also stored in the student data object, in order to determine whether certain activities, εuch aε particular instructional materials, should be automatically started by the ES without any student intervention. In cases where the student is permitted greater initiative, the schedule/calendar can permit OS task creation requeεted by the εtudent, aε by εelecting an icon. Thiε component alεo provides, on request, prioritized liεtε of taεkε for the agent to present to its student when the student asks for advice on what to do next. It uses priority and deadline information and time-for-completion data computed uεing data in the inεtructional materialε and student data object. The materials are represented in the ABI System by materials engine 604 and materials data 605. As previously described, the materials data compriseε objectε for display output or εtudent input, εequencing logic controlling object display, and notations which when referenced by the sequencing logic during object presentation generate event mesεageε for the agent. Materialε data iε advantageouεly grouped into "entries" comprising thoεe objectε, logic sections, and notations related to the display of a single screen or a few screens related to a single educational item. The materials data also preferably include a special header or initialization entry wii.h important notations that communicate to the agent the educational paradigm adopted by these materials and can inform the agent of the control variables to which it is responsive. Such header or initialization messages are also preferably sent to the agent if the materialε change their education paradigm. In a preferred embodiment, there is one common materials engine 6C4 which presents a plurality of materials data 605. In alternative embodiment, there can be specialized materials engines for variouε classes or types of materials data.
Materials engine 604 downloads the entries of materials daca 605, interprets the sequencing logic, displayε objects aε requested, and referenceε embedded notationε generating the requested event messages to the agent. Standard facilities of the OS and ES are used for object presentation and for routing any input to the materials. Input is processed according to specifications in the sequencing logic. In a preferred embodiment, the agent controls the materials by setting shared global variables which the sequencing logic checks. Such shared global variables can be made available by OS interprocess communication ("ipc") facilities, such as shared memory. The materials engine can be any program implementing these requirements, in particular an extension of available commercial authoring tools and engines, εuch as Macromedia's Authorware.
In an alternative embodiment, the materials are not separated into an engine and a data component but consist of one unitary component for each material. In this embodiment, a procesε similar to compiling creates a single executable materialε component. Thiε invention is equally adaptable to otner implementations of the materialε that generate agent messages and are responεive to agent control according to the requirements outlined herein.
Agent processing is divided into two componentε, agent action processing 609, which determines agent display actions in responεe to eventε, and agent behavior processing 612, which transformε display actions into displayε of perεonae to the student. In a preferred embodiment, agent action processing is rule based and event driven. Rules in rules tables 610 are evaluated using parameters both communicated in event messages from the materialε or the εtudent and retrieved form the εtudent data object. These rules propose candidate actions and then weigh and select a final set of agent actions from the candidateε, which are communicated to subεequent agent behavior processing 612. Agent processing also sets global variables for materials sequencing and control. A side effect of this processing is the updating the student data object with information from the materials event message.
Agent behavior processing 612 constructs an on-screen agent display based on the actions determined in agent action proceεsing. In a preferred embodiment, this procesεmg iε baεed on behavior tableε 613. Utterances, text or voice, and affects are selected from tables based on the determined final actions and refined with parameters included with the actions. The utterances and actions are sent to the selected agent persona object, which creates the agent display of the selected personae using the utterances and effect selected. Data is referenced and updated in the student data object by this processing, in particular fields reflecting the student's agent personalization choices, εuch aε the deεired perεonae, and fields reflecting recent agent behaviorε.
Alεo illustrated is communication materials 615. These materials manage and provide resourceε for variouε group activities, such as student tutoring, group work with particular materials, and group contests.
5.4.2. The Executive Software The executive software ("ES") collects together a number of componentε which customize the operating εyεtem to the requirementε of thiε invention and, if needed, also extend it. ES software implements common and special facilities. Exemplary common facilities include task control, communications, and I/O facilities,- exemplary εpecial facilitieε include a preferred animation fa ility and a client logon and startup facility. In a preferred implementation, ES software is built as frontends, wrappers, or extensions to available OS software components. For example, certain facilities can be implemented in C or C++ and directly call OS interfaces, such as the Windowε™ graphics device interface or its extensionε . Other facilitieε can be built as classes using available implementation language libraries, such as the packages in Java™ 1.0. Yet other facilities can be provided directly aε part of software packages, such as the display I/O functions present in commercially available authoring packages .
The task control facility manages the startup of system components. First, it verifies that the student is permitted to activate a requested component by checking schedules and priorities with the schedule/calendar tool. Indirectly, the student's agent can be queried to determine if this activation is reasonable. Next, if permitted, this facility manages the loading of required software and data objects from server systemε. Finally, task control then starts up the component by making any necesεary OS callε. Task control also notifies other system components at task terminations. The communications facility manages network communications and provides whatever client-server or file server protocols are not present in the OS. Such protocols might include HTTP V2.0 with URL name resolution. It maintains all necessary network seεsionε, including εeεεionε with the three major classes of serverε, εtudent data object servers, instructional material serverε, and executable εoftware serverε. Data snip libraries can reside on any of these server classes. In alternative implementationε theεe εerverε can be on one or εeveral phyεical εerver εyεtemε .
Finally, thiε facility handleε all remote acceεε requeεtε for information including requeεtε for downloading and uploading.
The I/O facilitieε includes input and output display handlers for object level display I/O. The display handlers receive object level requests for text, graphics, video and audio and translate them into whatever interface is supported by the OS. The input handler receives low-level inputs from the OS input handlers and processes them according to the current screen format. In certain cases, it can directly call the output handler to perform immediate feedback actions, such as highlighting or dragging an object. In other cases, it can pass I/O event messages in an appropriate format to the system component owning that screen object, for example, the on-screen agent. The output handler receives object presentation specificationε, such as system owner, position, characteristicε, εize, any animation information, and whether the object is an input focus, then updates any necessary screen mapping, and generates OS requestε to display the object. An example of such an object specification includes a selectable text field object with specified contents, perhaps εcrollable, diεplayed by a particular instructional material.
Exemplary specialized ES facilities are animation and client startup. It is preferable that the client syεtem εupport animation, which iε a connected and timed sequence of displayε potentially calling on all diεplay modalitieε available, and other timed presentations. Although this invention is adaptable to any suitable animation facility, a preferred facility presents a script based interface.
The inputs to an animation facility are scripts which comprise object display commands, the timing of the object diεplayε, an input εpecification of how any permitted uεer inputs are to be handled, and the types of events to be returned to the initiating syεtem component. Exampleε of display events include user input causing script branching and termination or interruption. The animation facility receives a script from another system component, requestε downloading of neceεεary diεplay objectε, for example from data εnip librarieε, interpretε the timing εpecification, and εendε requeεt to the input and output handlerε .
The ES εtartup facility is described herein with respect to a student client to run on a network attached computer. Startup iε similar for other client systemε, including teacher and instructional designer clients. Each component of the ABI system must be downloaded from a server when needed, if as is typical, no component of the syεtem is resident on a client prior to εtartup. The initial εtep involves the student accessing any client attached to an ABI network. Accessing can involve as little as powering-on the computer and requesting startup of the system on this client. Preferably, accessing by a student user begins by accesεing the εerver with the εyεtem manager, for example, using a standard intranet browser which can be resident on the client or downloaded by a power-on bootstrap process. The student logs on to the system manager, which then performs authentication, for example, by means such as password or identification card. Upon successful authentication, the system manager downloads and starts the ES The ES then initiates necessary communication sessions, including those with the system servers, and then downloads the session manager software, subtypeε of the student data object, the agent software, and the scheduler/calendar tool software. The session manager presents the εtudent diεplay m a form depending on student preferences in the student data object and receives input from the syεtem area of the display The schedule/calendar in cooperation with the agent then determines what materialε the εtudent is to be presented with or can select from Finally, the materials data and engine are then downloaded and the substance of the student session commences
Presentationε of personae or merely appropriate coherent responseε can be created from audio and video display objects downloaded from a server and referenced upon demand These display objects, or data snips, can be linked into groups corresponding to the particular presentations Further, these linked groups can include small pieces of code that allow for a branching and interactive short meta-response. Thus, one meta-responεe can include opportunities for εtudent input with the next diεplay object being chosen in responεe to that input. Each of these groups is catalogued and referenced as that persona behaving in a particular manner 5.4.3. System Event Processing
The ABI System on the student client, and on other clients, is advantageously organized to wait for student and timer input events and then to respond appropriately to these events. This is common current practice for constructing interactive systems. However, this invention is adaptable t'o practices that might be developed in the future for constructing interactive systems as long as the principal system components and their mutual interactions as previously described can be represented in such a future practice. With reference to Fig. 7, thiε section sequentially describeε the εystem processing of an input event and its consequences from initial input until the syεtem waitε for the next event. This description provides detail of how the εystem components communicate with each other and of how information and control flows through the system. More detailed description of the individual components appears in following sections.
Fig. 7 conceptually illustrates control flow and event processing in a student client. Generally, at the left of this figure is relevant data,- in the center is proceεsing steps,- and at the right are I/O events. As is apparent from the context, the arrows in this diagram represent either data references or control flow. The control flow is at times implemented by information bearing mesεageε and at other timeε effected by εtandard ES and OS εystem callε. Further, thiε figure is directed to the processing of those components that interact with the student's agent. Those componentε, such as the session manager, which do not interact with the agent can be constructed according to standard interactive techniques (see, e . g. , Petzold, 1996, Programming "Windows® 95. Microsoft Press, Redmond WA) .
Thus, at wait point 701 the system waits for the next student input or timer event. This wait commences at wait points 707, 713 and 717 after the system completes processing of the previous event, or possibly after syεtem startup. Upon receiving an input event, ES I/O handlers 702 decide whether the event represents an action without significance for other syεtem componentε. For example, the event can be a student action causing only the highlighting of an object or a timer event directing an animation. Such events can be entirely processed by the I/O handlers, and εystem waiting resumes at 701. If the event represents a student request for the materialε engine 703 or a meta-requeεt for the agent 711, the I/O handlerε format it appropriately and communicateε it to the correct component owning that input object. If the event repreεents a time interval set by one of the materialε engines or by the agent, it is formatted and passed to the requesting component. In the case of group work, the event can be generated on a remote computer syεtem and tranεmitted over a network link in order to reach the local I/O handlerε.
The I/O handlerε format event messageε into the format expected by the component they are directed to. They include in each meεεage an indication of the type of εtudent action or time interval along with any input information from the action. One input event can generate εeveral events messages .
Herein, messageε directed to materialε engineε 703 are considered first; meεεages directed to agent action processing 711 are considered second. Although Fig. 7 illuεtrates two materials engines, one engine or more than two engines are posεible on a system from time to time. Regardless of the number of materials engines present, event messages are communicated to the correct engine. The materialε engines 703 process a plurality of read-only materials data 704 representing instructional materials, tools, and communication materials. As indicated by arrow 725, these engines also access control information determined by agent action processing 711. This control information can be accessed in any convenient manner, such aε by an exchange of messages or by referencing parameters stored in a shared memory region. This information controls the materials engines at educationally significant points during their materials presentation. Optionally, materials engines 703 can also accesε remote databaεes 705 and other remote resources available through the syεtem network. The engines use these two sources, and optionally three sources, of input to cause presentation 706 to the student of, for example, an instructional lesson, a homework exercise, an instructional tool, or a joint educational contest. This presentation uses the I/O handler of the ES and OS to generate actual student display. As indicated by arrow 727, the materials engines also generate messageε directed to agent action processing 711. At educationally significant points during materials presentation, notations m the materials cause the engines to format a mesεage to the agent Theεe meεεages also include an indication of event type and relevant data, perhaps including timing data One student input can generate several agent messages. At points which are not educationally significant, the materials can not generate agent mesεageε Thuε, the system can wait again for the next εtudent action at wait point 707 if the previouε εtudent action had either no input significance for the materials or agent or no educational significance for the agent
However, if mesεages have been sent to the agent, agent action proceεsing 711 is activated In the preferred but not limiting embodiment, this processing is table based Rules from policy filter table 708 are evaluated in view of the data included m an incoming event mesεage and in view of data on the student'ε past performance and the student' ε pedagogic model in εtudent data object 712. For example, comparisons with student history are needed to determine re_atιve performance These rules propose candidate agent actionε. Next, rules in decision weight table 709 and m selection criteria table 710 filter the proposed actions into a final list of agent actions. These final actions can cause the update of the information in student data object 712 with data on the student'ε current performance and behavior, as indicated by double headed arrow 728 They can also make available control information for the materials, as indicated by arrow 725. Finally, and importantly, the actions can include display actions for causing visible agent behavior. The list of final display actions iε εent to agent behavior processing 716. It is possible that no visible agent behavior is appropriate and that the list of display actions is empty. In this case the system waits for further student input actions at wait point 713.
Agent behavior proceεsing 716 processes the final list of display actions communicated from agent action processing 711 in view of utterance tables 714, display behavior tables 715, preferences and the record of recent agent behavior in student data object 712 in order to generate a coherent display of the on-screen agent personae reacting to the previous actions. The final actions select utterance templates which are completed with parameterε contained in the actionε. The perεonae from the diεplay behavior table εelected according to the student preferences use these complete utterances to generate display objectε, and perhaps animation scriptε or appletε, which are sent to the I/O facilities of the ES for final display 718. Agent behavior procesεing also updates the student data object with information concerning this current behavior.
Having completed all possible processing of the student input action, the system now waits at wait point 717 for the next εtudent action or time interval .
5.5. The Instructional Materials And The Tools
Thiε εection deεcribes a preferred embodiment for the instructional materials, the εtudent toolε, and communications materialε. In this embodiment, the materialε have a uniform εtructure, being defined by materialε data which iε uεed by the materials engine to appropriately generate displayε and perform functions. This uniform structure permits a uniform handling of the interface between all the materials and the agent. In alternative embodiments, certain tools and the group communication materials, for example, can be advantageously separately implemented as separate programs that themselves maintain the necessary agent interface. Such certain tools include a calculator, a dictionary, an encyclopedia, and group communications. In further alternative embodiments, each inεtructional material could be a separate program that also maintained the necessary agent interface.
This section first describes the general structure of the instructional materials and then describes the tools typically available on an ABI syεtem.
5.5.1. The Instructional Materials
In a preferred embodiment a common materialε engine interpretε εpecific materialε data to perform instructional and tools functions. These are described with reference to instructional materials with adaptations needed for the other materials noted. Turning first to the materials data, in the preferred embodiment it includes three principal sections for presentation items, sequencing logic, and notations. The presentation items include whatever is displayed, preferably represented as display objects, which can be parametrized. These display objectε can be packaged with the materials data or can be downloaded from a server on demand. The notations contain additional data related to the materials display. These include, for example, prerequiεiteε, linkε to related material, expected student performance, and help and hints. The notations are preferably generated from templateε referencing parameterε from the materialε data and εtudent performance inputε . The materialε engine uεeε notations to generate messages to the agent, which comprise one part of the agent interface. The sequencing logic iε executable or interpreted code that animateε the particular materialε. It referenceε all data in the particular materialε to cause the ordered display of the presentation items and to send mesεageε to the agent according to the notations.
The materialε data iε advantageouεly grouped into entrieε, each entry representing a minimum item of presentation, which can, however, involve several screens. These entries are preferably specialized at least into a header or initialization entry and the other entries. Table 2A illustrates a typical materials header entry which is the first entry processed when the materials are initialized.
TABLE 2A: HEADER ENTRY
Figure imgf000080_0001
This header has several particular features. The sequencing logic for the header frame consiεts largely of definitions of variables and functionε. The global variableε are εhared 5 between system components and include the control variables that the agent setε and that the εequencing logic references and teεtε in order to be guided by agent control. These variableε, which compriεe another part of the agent interface, for example, can control the time pacing of Q instruction, the new concept seeding rate, the density of new exampler, the time pacing, or the difficulty of discriminations . Local variables are available to the sequencing logic during materials processing. Global functions are those global system functions that can be 5 called by the sequencing logic. Also, dictionary lookup, spell checking, or encyclopedia lookup can"be globally implemented and shared. In a Windows™ environment, the global functions can be DLLs. Finally, local functions are available locally to the sequencing logic. For example, in a scientific calculator tool, computationε can be local functionε. For a further example, in inεtructional materialε the local functions are available for checking user inputs for correctness, scoring quizzes, and so forth.
The notations in the header entry generate materials initialization messages to the agent. These mesεages inform the agent about these materials, about what global variables they respond to, about what helps, hints, and tools are useful, and importantly about the educational paradigm the materials use. Preferably, information about this paradigm is structured according to the instructional materials interface standard. See infra . The notations can also contain additional information, such as prerequisiteε for the whole materialε and references to other materialε and textε . Finally, the preεentation item can be, for example, an introductory εcreen.
Table 2B illuεtrateε a typical entry which is procesεed during regular materialε preεentation.
TABLE 2B: MATERIALS ENTRY
Figure imgf000081_0001
For this entry, the presentation items are those for the materials display. The sequencing logic causes this display in view of the variables and other information in the materials data and any student input. Finally, the notations result in agent messageε reporting changes in any parameterε set at initialization, εtudent performance data, εtudent errorε, and other educationally significant information. The notations can also contain information specific to thiε frame, such as expected difficulty and timing. Turning now to the materials engine, its first processing step is to request the executive software to download the requested materials data from the instructional materials server. It next processes the header entry, links to global variables and functionε, and sends initialization event mesεageε to the agent. When preεentation beginε, it interprets or calls for execution the εequencing logic on the firεt frame. From this frame it proceeds to activate other frames as directed by the sequencing logic. Lastly, when the materials proceεεing endε, any termination meεsages as directed by the notations are sent to the agent and the materials are deleted from the client.
In a preferred embodiment, the materialε are all implemented εimilarly. Most differences between the instructional materials, tools, and communication materialε are in the presentation items and the εequencing logic, including different global and local entities. All materials are expected to have notations for generating agent mesεageε that record materials initiation and termination and εtudent performance and errorε. Preferably thiε information iε reported in a standardized manner according to an inεtructional materialε ..nterface εtandard. See infra .
5.5.2. T,he Tools
The ABI system is adaptable to a wide range of necessary and optional student and teacher tools tailored to the students and the courses of instructions. In the case of elementary education, the following preferable tools include certain general tools and the communication, or joint work, materialε. In the case of commercial education, other tools can be preferable. The schedule/calendar tool participates in permitting access to materials according to εtudent εchedule and is preferably found in all embodiments. The discusεion in the section is directed to an implementation for elementary education. It is not limiting in the tools that can be used in an implementation.
5.5.2.1. The General Tools
The general tools are preferably present in a range of forms selected according to data in the student data object, including grade level, and teacher permissions. One general tool is a calculator, which can have forms varying from a simple four function calculator to a complex graphing calculator. Other general tools include language tools, such as a spelling checker, a thesauruε, a word pronouncer, an encyclopedia, and a dictionary. Different levelε of each language tool can be provided suitable for different grade levels. In an alternative embodiment, the language tools can be integrated with a "εtarfiεh" tool, which allows the user to place the center of a "starfiεh" over a particular word, and then, by εelecting the appropriate arm of the εtarfiεh to obtain the definition, a pronunciation of the word, a rhyming word, a εynonym, or an antonym. Another general tool is a word procesεor, perhapε with a drawing mode which can be provided aε a multi-level set of writing and drawing tools. The writing and drawing capabilities available to a student are selectable by the student or teacher. A last general tool is a link-maker, which offers exercises in various types of memorization, such as paired c.ssociateε, serial learning, ordered serial learning, and mnemonics. Finally, additional tools can be added to an implementation to meet specific educational needs. For example for geography lessons a map tool can be added. For student projects, an encyclopedia tool and a network search tool can be added. The Study Buddies™ can provide instruction in operation of the tools εuch aε the use of keywords and operators. Specialized tools can be added for commercial or industrial training.
5.5.2.2. File System Tool A general tool preferable in many embodiments iε a file εystem with student access. In many inεtanceε, including elementary education, full view of and access to the syεtem provided file εyεtem can be a disadvantage. Consequently this invention contemplates, providing a file system front end, or file system tool, that limits the student' ε view of and access to the system file system. This particular tool is advantageously implemented aε part of the sesεion manager and not aε a material. With that implementation, customized iconic file representations are managed as part of the εyεtem area of the diεplay.
One embodiment of εuch a file εyεtem tool preεentε a four level file system organized into shelves of books, each of which has sectionε, the sections having pages. A book representing a directory of files is opened when a student user selectε itε icon. The εtudent navigateε around the directory book by εelecting tabε or by moving page by page, by selecting nextpage, lastpage, or other buttons. The student interacts with selected pages, or files, of the book, possibly creating new pages and sections. The student can also close the book. For most needs of elementary purposes, a single shelf with a few prespecified bookε iε adequate. More advanced students can be given permission to create and use multiple shelves with new books and to cut and paste pages and sections from book to book. A page of a book, a file, is preferably presented with the materials that procesε it. For example, uεer-created text or giaphics pages appear with the word procesεor active. Homework and instruction pages appear with the appropriate materials . 5.5.2.3. The Scheduler/Calendar Tool
The schedule/calendar is an important tool and is preferably always present. It is accessed when the ABI syεtem initiates materials to verify the student is permitted and εcheduled for thiε material, and alεo invoked when the εyεtem terminateε materials to schedule new materials. It is accessed as a global function by the agent in response to a meta-request from the student seeking scheduling asεiεtance. Further, it can be directly acceεεed by the εtudent using the calendar tool icon appearing on the student desktop. When accessed, this tool displays a calendar book to the student, viewable in several ways .
This section describes, first, the schedule/calendar data, and second, the schedule/calendar processing. The schedule/calendar data is a subtype of and contained in the student data object. Generally, thiε data includeε the following fieldε for each εcheduled εtudent activity:
Name of εcheduled activity and optionally an identifying message,- Activity priority;
Deadline date and time, or a definition of a perpetual activity, which has periodic requirements but no completion date,- Link to material for the activity which in turn can specify activity completion criteria; for activity of a single student this is typically a particular instructional material; for group work activity a list of the students for the group and other communication information can also be in the calendar entry,-
Activity characteristicε, for example whether thiε waε entered by the student or teacher and whether this is to be marked complete by the student or system,- Activity status, completion statuε and εubmission εtatuε of any required reportε .
Thiε exemplary data, εufficient to define a εcheduled activity, can alternatively be entered by the teacher or by the student. If entered by the teacher, it can be protected from modification by the student. Data entry is preferably asεiεted by a teacher tool with a suitable screen format. Optional activities can be entered by the student if the teacher permits.
The schedule/calendar tool can be directed by the teacher to permit the student a range of scheduling initiatives. These initiatives can range from permitting the student freedom to schedule materials as desired to requiring the schedule/calendar tool to enforce a fixed order of student activities. In a preferred embodiment this is accomplished by the teacher's specifying initiative parameters including a deadline date/time, D, and a criterion priority, P, in the student data object. The schedule/calendar then schedules automatically all tasks with deadline less than or equal to D and with priority level greater than or equal to P. By varying D and P with respect to scheduled tasks the teacher can achieve the specified range of initiativeε . Schedule/calendar proceεεing can be invoked by the executive software, by the student, or by the agent. As previously described, at the beginning of a student session or after termination of the use of a particular material, the executive software invokes schedule/calendar tool, firεt, to mark the terminated taεk complete, and then, to reference the calendar data in view of the initiative parameterε to find activitieε requiring εcheduling. If thiε tool findε only one activity in the calendar requiring scheduling, thiε required activity iε initiated. If multiple required activitieε are found, the tool can, alternately, initiate the required activity of higheεt priority or allow the student a choice of which required taεk to initiate. If there are no required activities, the schedule/calendar tool allowε εtudent selection of the next task via the session manager. The schedule/calendar tool can be invoked by the student by selecting the schedule/calendar icon in the system area of the display. When so invoked, the tool displays the student calendar and scheduled activities in various formats from a monthly overview to details of individual activities. If permitted, the student can enter optional items or mark items complete. The schedule/calendar tool can alεo be invoked by the agent when it receives a student meta-request of the type "What do I do next?" The agent retrieves the required and scheduled activities from this tool and alεo determines an expected time to complete each task based on student performance from the student data object and the average time required for each task from the materials header. In view of this combined information, the agent can present to the student an ordered list of activitieε εcheduled according to their expected time to complete.
5.5.2.4. Communications Tools and Group Work Materials In a preferred embodiment, the ABI εyεtem includes communication, or group work, materials integrated with the remainder of the syεtem. Aε for other tools and materials, access to communications materials is granted by the scheduler/calendar tool . Communication work groups are assigned and scheduled in students' calendars with calendar entries preferably including the group members names and other communication parameters. When these materials are activated by the scheduler, the communication group is begun. Alternatively, εtudentε can εpontaneouεly requeεt the formation of a communication group by the selection of a communication material. The scheduler/calendar tool can permit group activation if the εtudentε have no other required activitieε. Alternatively, each particular communication material can also have specific acceεs controls preferably set by the teacher that control the types of communication permitted and with whom the communications is permitted. In manner similar to other tools and materials, the communication materials have an agent interface. Upon activation, they send initialization event messages to the agent specifying the global control variables they will be sensitive to, the educational paradigm adopted, and available hints, helps, and other communication parameters. In alternative embodiments, the instructional materials interface εtandards include special categories for communication based work that enable the agent to control these materialε with specificity. During communication work, these materials generate event messages at educationally significant points. Thereby, communication materials are fully integrated into an ABI embodiment. Further, in a preferred embodiment, communication materials are implemented in a manner similar to other materials. First, each communication material has a particular communication taεk specific for that communication material or form of group work. The communication task manages the network interface for that particular type of communication or group activity by using the network protocols provided by the OS and ES, and provides its communication functions as global functions for access through an ABI system. Second, these functionε are made available to the student in a manner similar to other materials through particular materials data that includes presentation items, sequencing logic referencing these global communication functions, and notations generating event messageε for the agent. In an alternative embodiment, the communication materials can be programs, independent of the materialε engine and perhapε part of the associated communication task, which internally generate the necessary agent event messages. In either embodiment, communication materialε tasks can be written either in the ABI implementation languages, or in a special purpose communication scripting language.
The particular communication materials in a preferred embodiment provide forms of group work or communication including e-mail or message exchange, linking student groups for joint work on materials, and εtructured joint work εuch as contests with rules . Each of these forms of group work or communication is described in the remainder of this section. A first form of group work implemented by communication materials is E-mail and newsgroups. These are useful for teachers to send information to their classes, such as schedule and materials changes and to communicate with absent students. Teachers can also exchange information with each other or obtain help for system and other issues. Students can use this form to obtain help and advice, especially from remote sources, communicate with their teachers, and share work or interests with other εtudentε. E-mail and newsgroups are easily incorporated as previously discussed. Then materials data is authored that grants accesε to these functions and generates appropriate agent event mesεageε. Student linking iε another form of group work implemented by communication materialε. Studentε in session at separate clients can link together for various exemplary activities including simply talking with each other by voice or text or for joint work on a particular material in which the students have either similar roles, as in developing a document using a word processor, or different roles, as in a simulation or game. Another activity of linked studentε includeε group activities, in which position of participants within a virtual environment determines activity and role within activity. A final exemplary activity for linking student groups iε moderated activity, in which participation iε controlled by a εpecial coordinating taεk that perhapε executes on a server system. An example of this latter activity is a spelling bee which is described in more detail subsequently.
In the preferred embodiment, student linking includes the following steps. The first step is identification of other students with whom a given student can link. The group can be defined by the teacher in the schedule/calendar entry for this activity, or alternatively, in a communication access control particular to this linked work activity. Second, links must be eεtabliεhed between the εtudentε to be linked. These links can be to a single server communication materials task that receives and distributes mesεages. Third, local and global actions must be determined. Local actions are those that result in output visible only to the user taking the action. Global actions are those that result in output visible to all the studentε in the linked group. These global actions can include communicating each student'ε input to all linked εtudentε, sharing information among all linked students, jointly creating information by studentε in the linked group, and εtoring jointly created information. The fourth step in linking is orderly disconnection from the linked group.
Linking can be implemented in alternative fashions. In all implementations the communications tools and materials for linked activities are integrated with the other components of an ABI εyεtem in one of the wayε previously described. A simple implementation is to provide on each student's screen an icon and a message area for each linked student. Alternatively, one or more shared materials areas can be provided. Communication can be diεtributed through a single server task to which all linked εtudentε connect. A more advanced implementation of linking employε εoftware packageε εimilar to multi-uεer dungeonε ("MUDε") , which contain a collection of virtual shared traversable εpaceε (called "roomε") in which users can interact either with each other or with elements within the room. MUDε are especially preferable for student group work in which different studentε have different roleε with access to different εyεtem capabilitieε . For example, one εtudent can be a recorder, having write-acceεε to the group's notebook, while another can be the database expert, having access to a body of relevant data. MUDs are also be useful for teachers, communicating with each other within 'rooms' each set aside for a specific topic and forming a dynamic newsgroup. Another form of group work implemented by communication materials iε εtructured linking. Important exampleε of εtructured linking in which the students have different or structured roles are educational contests. Exemplary of such contests iε a εpelling bee, an exemplary embodiment of which iε deεcribed herein. In thiε embodiment, the εpelling bee iε managed by a server communication materials task, called the server spelling bee task, which preferably is executed on a server system, which communicates with local spelling bee tasks on the involved studentε' client εyεtem. Generally, the server spelling bee task initiates a spelling bee by accumulating connections with students local spelling bee tasks, then mediates the spelling bee by controlling εtudent actionε, and provideε for orderly termination of the spelling bee. The local εpelling bee taεks provide the communication functionε acceεεed or required by the εpelling bee materials data, which are scheduled or selected to invoke εpelling bee participation, on the client εystems. These materials also send event mesεageε to the agent and are controlled by the student's agent. Alternately, the local spelling bee tasks can be programmed to communicate with the agent and perform the spelling bee without materials data. In more detail, the spelling bee taskε carry out the following εtepε . The εpelling bee εerver taεk iε started at a teacher's request or automatically by the εyεtem. A liεt of eligible εtudentε can be εelected by the teacher or automatically determined by the εerver task based on data in the student data objects, including class membership and a stated interest in εpelling beeε. The εpelling bee activity can be scheduled for each individual student by the teacher or selected by the student. If a student desireε to enter the εpelling bee, the local spelling bee taεk iε started by the ES and a message is returned to the s.erver. No reεponεe within a εpecified amount of time is taken as indicating a desire not to join. If a student's data object shows that this is the first time in a spelling bee, an instructional and warm-up sequence can be authorized for the student by the agent in the server task. If enough eligible εtudentε join the spelling bee, the server task continues, otherwise it sends a termination message to those who have joined and terminateε . Each local spelling bee task obtains space on the student display indicating the other players and their inputs. Next the spelling bee begins, and the server task broadcasts the word to be spelled selected from a graded word list and the name of user to spell the word. Each local task echoes the word sent, preferably by requesting the on-screen agent voice the words as utterances with an appropriate affect. The spelling bee materials inform the student's local agent of the student'ε progreεε and performance in the spelling bee materials. The server task accepts input from designated user's local task and broadcasts it. The server task judges and reports on correctneεs of completed responses and, if incorrect, eliminates the student from further spelling requestε. Aε student leave the spelling bee, the server task is notified and εendε messages to the local tasks of continuing players in order to update their workspaces. In each case the student preferences for further spelling bees are checked and preference data in the student' data object iε updated. When only one student remains, the server spelling bee task terminateε the game and reports resultε.
5.6. The Agent And The Agent Interface
The agent iε an important component of thiε invention and iε further deεcribed in thiε εection with reference to the εtudent data object, the agent interface, agent proceεsing, and agent adaptivity. The agent comprises the student data object which contains data on the student'ε performance on the variouε materialε and data on the εtudent' ε pedagogic model. The εtudent data object iε referenced and updated by other components of the system, for example, for report generation and for student scheduling. Other system components preferably have an interface to the agent in order that the agent can control the materials and guide the student in a uniform manner. Agent processing is divided into two phases, agent action procesεing and agent behavior proceεεing. Finally, agent adaptivity in the preferred and in alternative embodimentε iε deεcribed. 5.6.1. Student Data Object
One student data object is created for each εtudent in the ABI εyεtem and is the only permanent repository of data concerning that εtudent. The student data comprises fixed data defining the student as well as evolving data describing .:he student'ε interaction with the system, the latter _ncluding current and past performance and data defining the agent's view of the student. The student data object is stored on the server εystem and is the source on the server system for all teacher and administrative reports concerning that student. Elements of the student data object are fetched to a client system as required once its aεsociated student logs on to that client and on that client εerveε to control the agent and provide for agent adaptivity. Figs. 10A, 10B and 11 illustrate the structure and operation of the student data object. Figs. 10A and 10B conceptually illustrates an exemplary structure for student data object 1101. It is an object compriεing εtructured student data 1102 and methods 1103 for accesεing and updating the εtudent data. Student data is divided into global data 1104, materials related data 1105, including tool related data 1106, current lesson data 1107, and log data 1108. Global data, that is all items meaningful across all ABI materials, includes such subtypes as syεtem data, agent behavior preference data 1109, agent εtudent model data 1110, and εchedule data 1111. System data includes εtudent identifiers, student passwords, accesε privilegeε, grade levelε, claεε regiεtrationε, etc. Agent behavior preference data 1109 relateε to the multi-modal behaviors generated by the agent and includes student defined preferences for these behaviors as well as a summary of past agent behaviors. Student preferences can include options relating to agent visual appearance - species, gender, dresε, or perhaps, no visual appearance - and similar options relating to audio behavior and text production. The summary of past agent behaviors is used to aid in the selection of reasonably varied future multi-modal behaviors. Agent student model data 1110 includeε itemε modeling the student's persistent behavior which the agent useε to individualize itε interactions with the student. Such data items can include material retention rate, hint effectiveness, and preferred rewards. Updates to thiε data object made as the ABI client interacts with the student provide for agent adaptivity to the student. Finally, schedule data 1111 relateε to aεsignmentε εcheduled by the teacher and unchangeable by the εtudent and optional itemε εcheduled by the student. Data for each schedule item can include due dates, reminder alarms, and priorities.
Each course in which the student is currently enrolled has a separate materials related data area 1105 for the materials providing instruction in this course. In an exemplary embodiment, this data subtype includes εtandard and criteria data, uεually set by the school syεtem, which include objectiveε and εtandardε the student must meet in the particular course, milestone data establiεhing objectiveε already met by the εtudent, data relating to the εtudent'ε progress in the materials, data relating to the student's use of tools in the materials, and performance data. Progresε data includeε data neceεsary for the student to leave the materialε and resume the materials at the prior point. Performance data 1112 relateε to student's performance over several lesεonε in the materialε and can include mean performance, weighted moving averageε of performance, patternε of performance, uεe of hintε, use of retries, and needed remediation. Using such performance data, for example, means and weighted moving averageε, permits the agent to determine whether εtudent performance iε improving or declining. Tool data 1106 contains essentially similar but more abbreviated data about use of system tools such as the calculator, dictionary, and word processor. This data can only include milestones and performance information. The status of each lesson presented by instructional materials is accumulated in current lesson data 1107. This subtype is created upon lesson initiation and deleted upon lesεon completion. In an exemplary embodiment, it includes short term measures of performance - such as error rates, weighted moving averages of error rates, and the use of hints and retries - short term measures of time latency - such as time to complete lesεon εegmentε and weighted moving averageε of such times - work areas in which the agent can store information particular to the instructional materials - such as parameterε to uεe in forming multimedia presentations - and lesson coaching parameters 1113. The lesson coaching parameters are used by the agent to provide feedback to the instructional materials so that their presentation can be individualized according to student performance. These parameters are governed by the instructional modalities employed by the particular inεtructional materials and can include values such as the seeding rate of new concepts, time pacing of the presentation, the density of examples, and the ratio of reinforcement .
Finally, the student data object has links to εtudent log 1108. The log stores all mesεageε input to agent proceεεing and all actionε from agent behavior processing. It can be used to create detailed audits of student behavior and system responεeε, which can be of intereεt to inεtructional designers, in order to improve instructional materials, and to educational researcherε, in order to develop new modalitieε of instruction. With its carefully partitioned and functionally defined interfaceε, the ABI εyεtem iε eaεily adaptable to new modalities of instruction as well as to merely installing new materials.
The εtudent data object also includes one or more data updating methods and one or more data accessing methods. Exemplary updating method 1114 includes two components, triggering event type 1115 and action list 1116. When a component of agent processing updates the student data object, it sends a message to the object including an update event type and a list of relevant parameterε. The updating methods are searched to find one with a triggering event type which matches the event type of the update event. The one or more methods having matching event types are then executed by performing all the actions in the included action list using the parameters in the update event message. Each action useε the supplied parameters to update data elements in the student data object. A plurality of actions is generally associated with each method because it is typical for one event to cause changes in several student model data elements. For example, an update event related to the use of a tool causeε changeε in the relevant tool data εubtype aε well aε the associated instructional material subtype. Further, when a lesson iε completed, the methodε executed appropriately εummarize εtudent data from the current lesson εubtype into all the permanent data subtypes. At this point, parameters such as 'hint effectiveneεε' in the agent εtudent model data 1110 are also updated. The 'hint effectiveneεε' parameter iε acceεεed for uεeε including agent deciεion weighting and teacher report generation. One of the methodε associated with the event type 'end of lesson' updates the parameter 'hint effectiveneεε' in the following exemplary manner. The performance parameter 1120 'uεe of hints' is accessed to determine if update is required. If hintε were provided to the εtudent, the 'current leεεon log' 1108 iε used in calculating the two components of the parameter 'hint effectiveneεε' - 'hint effectiveneεε-before-firεt-try' and 'hint effectivenesε-after-firεt-try' . Theεe two components each hold an array of values which are used to compute a weighted moving average. In an alternative embodiment, a more complex formulation of this parameter can be used to provide a more detailed analysis of hint effectiveness - each of its two componentε can be εeparated into εubcomponents corr≤sponding to subject area, hint types and other instructionally uεeful measures . It is further preferable, for data elements comparing a particular student to clasε peerε according to variouε meaεureε be entered into the εtudent data object. Thiε can be done by executing appropriate update methods on the server system where such comparison data is available from reports generated from the student database including all the student data objects.
Fig. 11 is an exemplary illustration of how a typical student action update event updates the student data object. Other update events include agent action update events. Update message 1201 is εent 1206 to the student data object from a component of agent processing to cause student model update. The update event type is "exercise_done" and exemplary aεεociated parameterε are aε indicated at 1202. In thiε case method 1203 with triggering event type
"exercise_done" is executed by performing the four associated actionε. The firεt action updateε relevant data elementε in tool data εubtype 1106. The εecond action updateε the log 1108, aε iε done for all eventε . The third action updateε timing latency data elementε 1205 in current lesson εubtype 1107. Finally, the fourth action updates student performance data elements 1204 in current lesson subtype 1107.
Any component of the ABI syεtem needing to determine the value of particular data element in the εtudent data object does so by sending an inquiry mesεage to the student data object requesting the desired data element. The inquiry method for that data element retrieves and then returns the desired value. Such inquiries are typically made by the agent on the student client syεtem and by inquiry and report generating programs on the server systems .
5.6.2. The Agent/Materials Interface
The structure of the interface between the agent and the materials is important in the ABI system. It permits a single agent to control a wide range of materials through which it guides a εingle εtudent. The agent achieves this by advantageouεly maintaining a model of the student's pedagogic characteriεticε, which it referenceε in diverεe εituationε to determine its actions. This section, first, describes the general procedural structure of this interface, and second, describes the preferred model for the content of the interface. This preferred model is structured according to the instructional material interface standard (herein called "IMIS")
Communications between the agent and the materials iε bidirectional . Eventε containing parameterε are εent to the agent by the materialε at educationally significant occurrences. In response, the agent setε global parameterε controlling the materials and returns messages confirming actions proposed by the materials. In circumstances in which the materials needs to coordinate displayε with the agent, it communicates synchronouεly with the agent. For example, when the εtudent requests help or a hint, the materials can need to synchronouεly obtain the agent's permission to offer the help or hint. In other circumstances, the materials can asynchronouεly εend informational messageε to the agent. Such aεynchronous agent input and posεible output can give the εyεtem the appearance of εpontaneity.
The agent/materialε interface can be implemented in any convenient manner in a given OS. For example, it can be built on explicit meεεaging, εhared memory areaε, procedure callε to a εocket interface, or other technology.
The global parameterε εet by the agent and which control the materialε are preferably εtate variableε that the materials sequencing logic references in order to make educationally significant sequencing decisions. The meanings of state variableε to which a particular material is senεitive can be eεtablished at materials initialization according to specifications in a header materialε data entry. Examples of εuch variables range from simple flags, such as thoεe controlling the availability of helpε and hintε, to more εophisticated parameterε, εuch aε thoεe controlling the rate of new concept introduction, the denεity of examples, or the speed of diεcrimination exercises .
Communications from the materials to the agent are controlled by notations in the materials data. A notation includes an event type, parameterε aεεociated with the event, and the condition under which the event iε conεtructed and εent. Notationε are activated when they are encountered in sequencing logic in the materials data. There are two classes of notations, "point-wise" notations and "toggled" notationε. Point-wise notations are evaluated exactly once when they are activated. Toggled notations are evaluated at each input event following their activation until they are inactivated by a later notation.
Notations vary according to the materials. Some materials, such aε simple e-mail, can contain no notations. Tool materials can contain notations indicating only correct or incorrect use of the tool. Moεt instructional materials data contain several types of notations. Generally, the events generated by these notationε εend information εimilar to the following: number of retrieε, meaεureε of rate in fluency drills, measures of performance such as percent correct and the number of tries, partition of exercise items into similarity setε, and meaεureε of the relative difficulty of itemε.
Table 2C illustrates exemplary types of notations generated by typical instructional materials.
TABLE 2C: TYPES OF NOTATIONS
Figure imgf000100_0001
5.6.2.1. The Agent/Materials Interface Standard
In order that the student' ε agent can act generally to provide εtudent guidance and control material preεentation in a manner individualized to the εtudent's pedagogic characteriεticε, it iε preferable that an embodiment of thiε invention uεe an inεtructional materialε interface εtandard (herein called "IMIS") . According to IMIS, it iε preferable that the detailed content generated by the notations and passed in messages to the agent be εtructured in a εtandard faεhion according to the particular educational paradigm adopted by the materialε and independent of the particular content of the materials. Further, it is preferable that the materialε adopt one of a limited and defined set of educational paradigms contemplated in the standard. Finally, it is further preferable that the rules referenced by the agent in its aεεociated proceεεing tables and performance data in the student data object be similarly structured.
Thereby, IMIS provideε the agent with a materials independent view of the student .
IMIS is not limited to a particular set of educational paradigms . Any standard set or setε of paradigms appropriate to the intended studentε can be adopted for the interface standard. It iε preferable that the εtandardε adopted be baεed on principles of educational psychology and sound educational practice. In the following, thiε invention iε deεcribed according to an IMIS appropriate for elementary education. The paradigmε deεcribed below are not limiting.
Exemplary educational paradigms
Exemplary educational paradigmε, alεo known aε modes of instruction, are listed in Table 3.
TABLE 3 : EXEMPLARY EDUCATIONAL PARADIGMS
Interactive tutorial
Fluency exercise
Paired association exercise
Discrimination formation exercise
Simulation exercise
Each of these educational paradigms is preferably handled differently by the agent in responεe to differing deεcriptive information and student performance data. For example, a sequence of correct responεes in a fluency exercise is expected. On the other hand, a sequence of correct responεeε in a paired aεεociates exercise can be worth while for the agent to comment on. Exemplary paradigm classification
The exemplary embodiment of IMIS standardizeε theεe educational paradigms according to three pieces of information: the instructional context, the instructional format, and most εpecifically, the εubject area. Materials nctations εhould preferably specify all pieces for maximum agent flexibility, although the ABI system is adaptable to the materials specifying any number or none. If none are specified, agent actions are independent of the educational paradigm.
The instructional context is the specific mode of instruction being presented to the student by the materials. Examples of instructional contexts are:
TABLE 4: EXEMPLARY INSTRUCTIONAL CONTEXTS
Prerequisite
Test
Review Preteεt New material
Introduction
Diεcrimination
Review Practice
Fluency exerciεe
Review Unit maεtery teεt
Within each inεtructional context, materialε can adopt inεtructional formatε, the second component of the IMIS specification. Examples of instructional formats are:
TABLE 5: EXEMPLARY INSTRUCTIONAL FORMATS
Multiple Choice Fill-in-the-blank
Unprompted
Selected from list Paired Associates
By letter
By dragging
By matching Computations Simulations
10 Identify parts of figures or text
Simulation games
Finally, student performance should preferably be stored relative to the subject area being worked on, as necessary -_ for course level reporting. Thus, the third component of the exemplary IMIS is the subject area, such as mathematics or reading.
Exemplary standardization of agent data
_0 IMIS standardizeε system tables and data relevant to agent action processing according to this triple of information -- instructional context, instructional format, subject area -- which characterize the education paradigm adopted by the materials. The following description
_5 discusses standardization of notations in the materials, standardization of data in the student data object, and standardization of the agent action proceεεing tableε .
Notationε in the materials are standardized according to IMIS as follows. For a lesson, exercise, or item, each
,0 material adopts one of the standard set of educational paradigms, or modes of instruction. The parameterε to be paεεed to the agent in an event meεεage are determined by the instructional context and each instructional format of thiε paradigm.
,c Tne following table containε an exemplary εequence of notations for a "prerequisiteε review" education paradigm, and the parameters relevant to agent action processing that each notation sendε to the agent.
TABLE 6 : EXEMPLARY NOTATIONS FOR PREREQUISITES REVIEW
Site of Notation Data Sent to Agent
Instructional Context Type: Prerequiεiteε Review Sequence Entry Unit Name: Selecting Gender Pronounε Header Subject Area: Grammar Average Time: 5 minuteε Number of Exerciεeε .- 8
Exercise 1 Entry Format Type: Multiple Choice Header Number of Optionε : 2 Difficulty: 0.3 Hint: Available
Exercise k Entry Format Type: Fill in Blank Header Subformat : Select from Words in
Previous Sentence Difficulty: 0.5
An aspect of these notations is to provide information about the quality of the εtudent response, which, in this example, is given by the a priori probability of a correct answer. For example, εelecting the correct response from two choices has an a prior probability of 0.5 if the choice is made at random. Filling in a blank correctly is leεs likely by chance, if no cuing is provided in the exercise.
Advantageously, notations containing the parameters associated with a given instructional context and a given instructional format can be stored as templates in libraries Notations are available in theεe librarieε to generate necessary messages at materials initialization and during materialε proceεεing. An instructional designer then need only consult these libraries to obtain the notationε appropriate to the educational paradigm of the materialε beinα authored. The standardization of the student data object according to this exemplary embodiment of IMIS for elementary education is simply achieved by storing student performance data according to instructional context, instructional format, and subject area. Thereby, these characteristics can be taken into account when comparing student pedagogic performance in general across subject matter areaε.
The final component of IMIS εtandardi∑ation iε that of the agent action proceεεing tableε, the policy filter table, the deciεion weight table, and the εelection ruleε. Event meεεageε from the materialε inform the agent of current values for the inεtructional context and inεtructional format. Since theεe values are parameterε available to evaluate the conditions and functions contained m these tables, these tables can be, in effect, segmented into parts each corresponding to a particular instructional context and instructional format. Since there is considerable overlap between the parts of these tables, the number of rules does not proliferate. The current εubject area is also available to εegment the tableε in the caεes of those εubjectε that can require special treatment by agent action procesεing. Further, the IMIS εtandardization permits a more systematic and effective use of the mechanism which the agent useε to εet global variables in the materialε. These variables facilitate adaptive adjustments of instructional parameters, such as seeding rate and amount of prompting. These variables can be more effectively set in view of the current educational paradigm as indicated by the current values of the instructional context and format. IMIS is also useful in providing information to the student in response to "Where am I?" inquiries. The system can use the information contained in the entities in the information triple to respond, "You are halfway through the drill and practice on fractions," for example. Alternative agent embodiment enabled bv IMIS
In alternative embodiments of agent action procesεing, the segmenting of the policy filter table and decision weight table, which provides a simplified 'intelligent instructional agent' for each kind of inεtructional context, instructional format, can be augmented by other techniques from artificial intelligence. Thus, the customized rules and functions contained in the action table can be augmented software modules, which extend the agent and are constructed based on such techniques as production rules systems with rule propagation or neural nets. Such additional modules could, for example, find complex patterns of student error unanticipated by the inεtructional deεigner. Aε additional artificial intelligence methodε are incorporated into the agent software, new materials notations can be added to the notation repertoire.
5.6.3. Agent Action Processing
Agent procesεing iε divided into agent action processing, which determines on-screen agent display actions in response to input events, and agent behavior procesεing, which transforms display actions into displays to the εtudent. In a preferred embodiment, agent action proceεεing is rule based and event driven, and agent behavior processing is table based. This and the succeeding section describe the preferred embodiments of these diviεionε of agent proceεεing.
Fig. 8 illuεtrateε in more detail agent action processing. This processing is activated when event messages 801, representing either input events sent from the I/O handlers or educationally meaningful messageε from the materialε, are sent to the agent software. It transforms the input event messages into lists of display actions that activate the agent display and also has the important side effects of updating student data object 806, as indicated by arrow 815, and of setting materials control parameters, as indicated by arrow 816. It is posεible a particular input event can generate all or none of these outputs and side effects .
Agent action processing proceeds through three stepε : event filtering, candidate action weighting, and display action selection. In common, each of these εtepε referenceε rules in an associated table of rules. These rules include relations, functionε, and procedureε, all of which reference input parameterε . Input parameterε can be any appropriate data carried in the input event meεεage and any appropriate data stored in student data object 806. In particular, as indicated by arrow 815, fields from the following subtypeε in the εtudent data model are referenced: the current leεson subtype, the materials specific subtypes, and the agent pedagogic student model εubtype. In alternative embodimentε where the agent interface and data iε εtructured according to an IMIS εtandard, event input parameters include parameterε characterizing the current educational paradigm adopted by the materialε. Theεe parameterε can be uεed to εelect rules applicable only to this paradigm for reference and activation.
Turning now to the stepε of agent action processing, the first step is event filtering 807, referencing policy filter table 803. This step is described with reference to Table 7, an exemplary policy filter table.
TABLE 7: POLICY FILTER TABLE
POLICY FILTER TABLE
Active Rule
Y B(p1( p2, ... ,pn) , (type, subtype, x1( x2, . • . xj -
Y (item_diff>LIM) , (congratulation,diff, 2 , .. . )
Y (rate>f*average) , (congratulation, rate, k, . ..)
Y (exerciεe_done) , (congratulation,done, r, t, ... )
N (latency > m) , (hint, conεtructed, ... )
N ( (error rate<k) & (WMA>MAX) ) , (remediation, review)
The first row illustrates a generic policy filter rule, while subsequent rows illustrate exemplary filter rules. The generic rule has a condition and a consequent . The condition is boolean expresεion, B() , of one or more conditions, pn, each of which iε a function of the available parameterε. Default parameterε in a rule can be overwritten by parameterε from the input event. The consequent is a list of an agent action type, "type, " an agent action subtype, "subtype, " and zero or more parameters, xr.. The type is a major mode of agent behavior, for example, "congratulate the student," and the εubtype modifieε that behavior, for example, "because of the εtudent'ε rate." The parameterε provide additional information to be uεed in conεtructing an utterance, for example the time that the εtudent took to complete an item or the name of the item. Each rule can be marked active or inactive, possibly as a reεult of εelection during materialε initialization or aε a reεult of εelection according to IMIS educational paradigm parameterε. Proceεεing a filter rule conεists, first, in evaluating each active boolean, and second, for each such active and true expresεion, placing the conεequent and itε parameterε into the list of candidate actions. The list of candidate actions is then pasεed on to action weighing 808, the next procesεing εtep. Also in the student data model, the current lesson subtype and materials specific data subtype are updated, if necesεary, with data from the input event message. For example, upon item completion, performance results need to be updated.
Action weighting 808 references decision weight table 804 and aεsigns a numeric weight to each action in the input candidate action list. Thiε εtep iε deεcribed with reference to Table 8 an exemplary deciεion weight table.
TABLE 8: DECISION WEIGHT TABLE
Figure imgf000109_0001
The firεt row illuεtrateε a generic policy filter rule, while εubεequent rowε illuεtrate exemplary filter ruleε. The generic rule has an index and a weight function. The index is a type and subtype pair, and the consequent is a weight function of zero or more parameters, xn, with a value between 0 and 1. Each rule can also be marked active or inactive, posεibly aε a reεult of εelection during materialε initialization or aε a reεult of εelection according to IMIS educational paradigm parameterε. Proceεεing the liεt of candidate actionε conεiεts of, for each candidate action, selecting the weighting rules that have a type and a subtype matching that of the action and then aεεigning a relative priority between zero and one to the action aε determined by applying the weight function to the available parameterε. In thiε manner all the candidate actionε on the candidate action list are asεigned a numerical weight. The list of weighted candidate actions is then passed on to action selection 809, the last proceεεing step.
Action selection 809 references selection criteria table 805 to select a final set of actionε from the input candidate 5 action list. This step is described with reference to Table 9, an exemplary selection criteria table.
TABLE 9: SELECTION CRITERIA TABLE
0
5
Figure imgf000110_0001
The εelection criteria table conεiεtε of a list of available methodε for the candidate action εelection proceεs. A 0 selection criterion useε the computed weight and perhapε other parameters to select one or more final actionε from the candidate weighted actions. Exemplary εelection criteria are illustrated in the last two rows. It is anticipated that one criteria is marked active aε a reεult of εelection during ς materialε initialization or as a result of selection according to IMIS educational paradigm parameters. The active criteria is applied to select zero or more final actions. Some final actions are executed locally to provide control to the materials by setting control parameterε, aε Q indicated by arrow 816. Other final actionε can cauεe update of fieldε on the εtudent data object, in particular in the agent pedagogic model εubtype, as indicated by arrow 815. The remaining final actions are display actions which are pasεed to agent behavior proceεsing in display action list .. 802. The student data object iε updated to record the εelected diεplay actionε. Action proceεεing is illustrated with reference to the exemplary rules in Tables 7, 8, and 9 by considering the resultε of proceεεing two input eventε, one of type "item done" with a "difficulty greater that LIM" and one of type "exerciεe done." Applying the exemplary filter rules from Table 7 results in two candidate actions, one being (congratulation, diff) and the other being (congratulations, done) . No other exemplary boolean expression evaluates to true. Next the exemplary weighting rules from Table 8 are simply applied by selecting and evaluating the correct weighting function. The resulting exemplary candidate action weightε are taken to be 0.8 for (congratulation, diff) and 0.5 for (congratulations, done) . Finally, the one active exemplary selection rule from Table 9 is applied which εelectε the one final action (congratulation, diff) .
The preferred embodiment here illustrated involved no rule propagation. In alternative embodiments more sophisticated artificial intelligence programming techniques could be employed as is apparent to those of skill in the art. For example, rule propagation and general production rule syεtemε could be uεed to transform events to actions. Other applicable techniques could involve neural nets, predicate logic, and so forth.
5.6.4. Agent Behavior Processing
Agent behavior procesεing transforms diεplay actionε into output diεplayε to the εtudent. In a preferred embodiment, agent behavior proceεεing selectε from tableε of possible display behaviors based on the input display action list and its parameters and on fields in the student data object describing student preferences and recent agent display behaviors. Further, in a preferred embodiment, agent behavior procesεing generateε either display scriptε which are sent to the I/O handler, or scripts with asεociated data snips of sound and animation that are embedded in applets. In alternative embodiments, intermediate scripts are not used and behavior processing generateε I/O handler commands in real time. This section describes agent behavior processing, first, with respect to the table data structures used, and second, with respect to the procesεing stepε.
Generally, agent behavior procesεing includeε two εtepε. First, the message and its emotional affect, which is to be displayed or spoken by the on-screen agent, called herein the "utterance," is εelected according to the input display actions. Second, the utterance and affect are sent to the preferred persona object where it is integrated into a complete display, including animation, graphics and audio. The display is preferably represented as a script which is then εent to the I/O handlerε. In behavior proceεεing, the selected affect m an important parameter. The affect further characterizes the intent of the utterance. For example, an utterance of a "congratulations" type is associated with a positive affect that can range from "happy, " in caεeε of superior performance, to "encourage," in cases of improving but still lesε than average performance. The diεplay behavior of the on-εcreen agent, preferably represented as one or more personae interacting with each other and the εtudent, iε εtrongly reεponεive to the affect parameter. As is known in the arts of film animation, infusing an animation with an affect or emotion gives resulting images a human and life-like quality. Such a quality is important so that the virtual tutor aspect of the ABI syεtem engage the εtudent in order to improve inεtructional results. Also, by storing recent affects selected in the student data objectε, aε well aε εtudent preferences for εuch parameterε aε affect intenεity and presentation, agent behavior processing can present a coherent and life-like imaje agreeable to the student over one instructional session or over several instructional sessions .
Affects are aεεociated with and further characterize the intent of utteranceε . They are εelected aε part of utterance generation proceεεing for uεe in viεual display generation procesεing. Utterance generation proceεsing depends on the type, εubtype, and parameters of the current event as well as on the student data object, which contains the agent student mcdel, student pedagogic parameterε, and recently generated behaviorε. Therefore, preferably, the εelected affect and generated visual displays are responεive to the student pedagogic characteristics or, alternatively, the student cognitive style.
Turning details of utterance generation, utterances and associated affect are generated by selecting options from a hierarchy of tables. This hierarchy, having typically many choices for each level, provides variety in agent behavior. At the highest level of this hierarchy are the tables of utterance templates 908, which are indexed by action type and action εubtype. Typically, there are many utterance templateε and aεsociated affect for any given action type and subtype, and indexing is according to additional parameters that occur in action lists and additional parameters of student characteristics from the εtudent data object. For example, utteranceε and affectε are further selected according to the educational paradigm employed, student grade level, and student preferences.
At the next level of the utterance generation hierarchy are tableε of named εlotε, which are parametrized phraεeε, or in other wordε, functionε which use input parameters to return phrases . Utterance templates contain named slots as well as invariable words and sounds. When an utterance template iε evaluated, εlotε with the specified name are selected from the slot table. Typically, there are' many slots of a given name, which are further indexed according to additional action list parameters and user characteristicε from the student data object. Wheu a slot is selected for use in the utterance template, slot parameters are passed from the utterance template. Alternative embodiments of this invention are adaptable to hierarchies with additional levels of utterance generation tableε or additional typeε of tableε at a given level in the hierarchy.
Ill Exemplary Table 10 is a small segment of the utterance template table for an action type of "congratulations" and an action subtype of "performance" and appropriate for a test type paradigm. Table 10 illustrateε that the εtudent grade level, obtained from the student data object, is an additional indexing parameter for these utterance templates .* Further, each illustrated template includes a slot named "performance-streak-εlot, " with parameters of grade level, number of problems answered correctly, and total number of problems .
TABLE 10: EXEMPLARY UTTERANCE TEMPLATES
(congratulations, performance, grade=4, "You got <performance-streak-εlot (4, numright, total) > right."
(congratulationε, performance, grade=4, "You are really getting the hang of it.")
(congratulationε, performance, grade=8, "Quite a winning εtreak - <ρerformance-streak-slot (8, numright, total) >.")
(congratulationε, performance, grade=l2, "A stellar performance getting <performance-streak-slot (12, numright, total) > right . " )
It is preferable that the utterance template table have a large number of utterance templates appropriate to a large number of educations situations. Since the preferable number of type and subtype combinations is at least approximately 500, and since it is preferable to have 10 to 100 responεive utterances per pair, a preferable utterance template table has at leaεt 25,000 entries. A less preferable table has at least 5,000 entries and a more preferable table has at leaεt 50,000 entrieε. In an embodiment of the invention, leεε uεed utteranceε have fewer candidate responsive utteranceε without impairing the image of εystem spontaneity. Thus this invention is adaptable to utterance tables of 1,000 entries. Exemplary Table 11 is a small segment of the slot table for slotε named "performance-εtreak-εlot, " any of which could be employed in the previouε templateε. The illuεtrated εlotε evaluate their input parameters to resultε in phrases. For example the last slot results in the phrase "90 percent" if numright is 9 and total is 10. Further, slots can contain a condition which controlε their applicability. In this example it is the fifth component of each entry and only the first slot has an non-null condition.
TABLE 11: EXEMPLARY SLOT ENTRIES
(performance-streak-εlot, 4-12, numright, total, <numright> > 0.8*<total>, "Nearly all")
(performance-εtreak-εlot, 8-12, numright, total, nil, "<numright> out of <total>")
(performance-streak-slot, 8-12, numright, total, nil, "100*<numright>/<total> percent ')
Slots are used to create final, generated utterances with considerable variety. Therefore, it is preferable that the slot tables have at least the same number of entries as the utterance template table. A preferable slot has at least 25,000 entries. A less preferable table has at least 5,000 entries, and a more preferable table haε at leaεt 50,000 entries .
The final display of the preferred on-screen agent object is generated from Display Behavior Tables 904 with a similar hierarchical table data structure to that used in utterance generation. At the highest level are on-screen agent actions which contain a cast of one or more personae. At the next level are persona types which the εtudent εelectε once, or at moεt once per session. At the next level, associated with each persona type is a library of display behaviors indexed by affect. Exemplary affect types include the following.- sad, objective, pleased, happy, disappointed, announce, remind, encourage, reinforce, model, prompt, hint, joke, and tutor. Typically, each affect has many possible behaviors and theεe are further indexed, as for utterance generation, by parameters appearing in the action list and the student data object. The display behaviors are structured as scripts containing named display objects. These named display objects can optionally involve voice, audio, graphics, or video displayε, and they are contained in εcriptε which can optionally specify a timed animated display or a branching display, where the branches are dependent on student reactions to the display. At the lowest level in the preferred embodiment are the individual named display objects. As for slotε, typically there are several parametrized instantiations of each named object. These instantiations are indexed according to the same parameters indexing the display behaviors and in turn use these parameters to generate diεplayε. Alternative embodiments of this invention are adaptable to hierarchies with additional levels of tables for display generation tables or additional types of tableε at a given level in the hierarchy.
Exemplary Table 12 iε a εmall segment with personae typeε adapted to elementary education.
TABLE 12: EXEMPLARY ON-SCREEN AGENT ACTIONS
A frog persona writing the congratulatory mesεage on a tiny blackboard, then jumping up and down croaking 'Hurray' .
A robot perεona creakily waving itε arms and saying the congratulatory mesεage.
An animal perεona wearing a cheerleader' ε outfit jumping up and down, chanting the congratulatory meεεage as a cheer.
The cat εays the general part of the encouragement message while pointing to his bird sidekick. The bird then flies acrosε the εcreen while εaying the εpecific part of the message.
it is preferable that the on-screen agent have a richly varied and engaging behavior. The persona types preferably include recognizable popular figures as well as a rich variety of specially created figures. Perεona type tableε have a preferable selection of at least 100, and lesε preferably at least 50 persona types. The librarieε of diεplay behaviorε preferably have many behaviorε for each affect. Since the preferable number of affectε iε at leaεt 50, and since it is preferable to have 50 to 100 responsive behaviors per affect, a preferable behavior libraries have at least 2,500 entries, and more preferably 5,000 entries, per persona type. A fully implemented ABI syεtem can have preferable behavior libraries with approximately 125,000 entries. This number can be lesε in situations were more popular persona have fully configured behavior libraries while leεε popular perεona have more limited librarieε. Further, the number of perεona typeε can be advantageouεly limited to only the moεt popular or more appropriate for the type of εtudent. Thus this invention iε adaptable to librarieε with approximately 1,000 entrieε of reεponsive behaviors .
In implementations of this invention, it is important that the actual content of the utterance tableε and the diεplay tables and libraries be sufficiently creative and current to engage the student. Therefore, this content is preferably created by artistε, animators, writers, and other creative talent. These elements of sound, voice, animation, graphics and video are collected into libraries of data snips and stored in archives. Further, it is preferable that these tables have an extensive and varied content in order that agent displays repeat only infrequently.
Turning now to the procesε of generating a complete agent diεplay behavior, the steps of this process are deεcribed with reference to Fig. 9. The firεt εtep iε utterance generation 906 which receives as input action liεt 901. Utterance generation indexes the utterance template table in accord with action list parameters, in particular action type and subtype, and student preferences from the εtudent data object, to obtain candidate utterance templateε reεponεive to the current εituation. If no candidateε are found, the student preferences are relaxed in a preset order until at least one candidate is found. Typically, more than one candidate iε found, and then one template iε εelected at random from among thoεe templateε which have not yet been uεed previouεly in thiε session. A record of agent display behavior during the session is stored in the student data object. The named slots of the selected template are resolved in a similar fashion, by finding candidate named slotε and selecting one at random that has not been recently used. An utterance is then generated from the template, the named slot, and the input action list parameters. This utterance and its asεociated affect is passed to visual diεplay generation.
The εecond εtep of agent behavior proceεεing, viεual display generation 907, uses the input utterance and associated affect to select candidate responεive displays of that affect from the libraries asεociated with the student's current personate) preference contained in the student data object 905 As with utterance generation, if no candidate is found, student preferences are relaxed until one lε found. Typically, more than one lε found, and one is εelected randomly avoiding recent εelectionε in thiε εeεεion Diεplay objectε referenced in the εelected diεplay are similarly found Finally, the utterance mesεage lε εent to the εelected display and display objectε Theεe objectε contain performance methodε that are called to generate and output diεplay script In a preferred embodiment, the script with references to data snipε 909 of voice, εound, graphicε, video and animation is incorporated into an applet An exemplary applet can be a program fragment representing a character scratching his head while saying the utterance and moving acrosε the screen This output applet lε εent to the I/O handlerε in the ES for εtudent display 908. Since this completes agent procesεing for thiε εtudent or timer event, the εyεtem then waitε for the next action at wait point 902. A display action can also reference a preformatted animated sequence stored in the data snip library 909 in which voice, sound, graphics, animation and video have been already integrated. In this case, portionε of utterance proceεεing 906 and viεual display procesεing 907 can be bypaεsed In alternative embodimentε, εelection of utterance or perεona candidates from the available contentε can be done other than randomly. For example, agent behavior data saved during a seεεion m the εtudent data object can be used to 5 construct performances extending acroεε inεtanceε of student actions. In particular, utterance templates and display objectε can be εelected in a connected manner in order to give agent diεplay the appearance of continuity and realiεm. Thiε invention lε adaptable to other methodε of generating
10 performanceε parametrized by affect and utterance that are known in the art . Theεe methodε can include advanced text to εpeech techniques, 2-D and 3-D graphical generation, and VR effectε .
The viεualization of agent actions can involve a single
15 character or several characters interacting with each other. If multiple characters are used, they are preferably interrelated. A typical cast is a cat with a bird sidekick. An exemplary interaction of theεe associated characterε involving both dialogue and movement is presented in Table
20 12.
Continuing story line εcriptε can be available from the ABI εystem on a daily basis in a manner similar to a continuing plot in a daily comic strip. These story lines can be applicable to a group of studentε and individualized
25 where appropriate In εome cases the student'ε εelected perεona can introduce a εtory line and m other caεeε εeveral personae are directly involved in an interaction. For example, the story line can be uεed as the basis for a reward such as "We're off to the beach to play volleyball. Join us
30 when you finiεh your homework, then later help uε εolve the myεtery of the vaniεhing lake."
In summary, the use of the student data object in agent behavior procesεing iε illustrated in Table 13.
35 TABLE 13: STUDENT DATA USE IN AGENT BEHAVIOR
Figure imgf000120_0001
Particular data in the εtudent data object haε an important role in determining agent diεplay and inεuring itε appropriateness, variety, and individualization.
5.6.5. Agent Adaptivity
The adaptation of the agent to the student, and the ABI system's appearance aε a virtual tutor, emergeε from the agent' ε updating of data in the εtudent data object. In the preferred embodiment, the agent'ε knowledge of the εtudent iε repreεented by data in the εtudent data object, in particular in the student pedagogic model, which stores general materials independent data describing how the εtudent learnε, and in the materialε εpecific student performance, which storeε performance data εpecific to particular assigned materials and courses. As the student interacts with the system for instruction or homework, the agent receives event messages, which describe the student'ε learning and performance. The agent updateε the εtudent data object with data from these mesεageε. As thiε data iε updated, the agent adaptε to the εtudent, and thereby the virtual tutor individualizes to the student. This adaptation is maintained acrosε sessions with this student.
In the preferred embodiment, the data referenced and updated by the agent are averages or weighted moving averages, giving more weight to recent than past behavior. Thus, the pedagogic model includes, for example, data weighted moving averages of the rates that the student learns discrimination of a certain complexity. Materials specific performance includes, for example, weighted moving averages of data on the student's responεe time and response latency. In alternative implementations, agent adaptivity to its student can occur differently. In one alternative embodiment, student model data includeε not only averageε or weighted moving averageε, but alεo data on the statistical distribution of the parameters involved, such as standard deviations. With thiε data the agent can recognize the current situation as "normal" or "abnormal" for this student and thereby offer appropriate guidance. Further, this statiεtical data can optionally include correlationε between the agent data, such as between various pedagogic parameters and variouε materialε parameterε. In thiε manner, educational εituationε can be claεεified more finely than "normal" or "abnormal" into, for example, "abnormally εlow on thiε fluency drill in view of normal progreεs on other exerciseε . " In a further embodiment, claεεification of thiε εtatiεtical data can be done by εpecial executable modules in the agent based on, for example, statistical classification εchemeε or neural networkε .
In a further alternative embodiment, agent action proceεεing can be implemented with more complicated techniques. In the preferred embodiment, agent action processing is done by rules without rule propagation. In alternative embodiments, rule propagation and full rule based systems can be used to transform events into actionε. This invention is applicable to other techniques from artificial intelligence that can make thiε tranεformation εuch aε Bayeεian belief networks. In another alternative embodiment, the εtudent data object has data modeling student interestε and preferenceε . Such a model enableε the agent, for example, to monitor school events and suggest those appropriate to the user. This model also enables the agent to provide rewardε tailored to individual εtudentε, which enhances the system reinforcement and adds to perceived agent persona personality and to virtual tutor individualization. In a preferred embodiment, this model of εtudent interests can be implemented simply aε a εet of approximately 200 categorieε, covering intereεt in εeveral εubdiviεionε of each εchool subject area, as well as categories related to εports, leisure time and other areas of student interest . Intereεt in theεe categorieε can be entered in εeveral mannerε . Student uεe of the encyclopedia tool can be used to determine areas of current interest . Interest can be directly entered by the student, parent, or teacher. Alternately, student interest in materials can inquired for when the materials terminate. After an asεignment, the εtudent could provide εemiotic feedback by εelecting from a row of faceε with different expresεionε. Alternately, the εtudent can be quizzed on intereεtε in a poεed branching manner.
6. SPECIFIC EMBODIMENTS, CITATION OF REFERENCES The preεent invention iε not to be limited in εcope by the specific embodiments described herein. Indeed, variouε modifications of the invention in addition to thoεe deεcribed herein will become apparent to thoεe εkilled in the art from the foregoing deεcription and accompanying figures. Such modifications are intended to fall within the scope of the appended claims .
Various publications are cited herein, the diεcloεureε of which are incorporated by reference in their entiretieε.

Claims

WHAT IS CLAIMED IS:
1. A method of operating an agent based instruction system for interactive instruction of a student over a plurality of inεtructional εessionε, said method comprising:
(a) presenting interactive instruction to εaid εtudent by executing one or more materialε on a computer acceεεed by εaid student for a current instructional session,- (b) monitoring said interactive instruction of said student during said current instructional session,-
(c) storing information responεive to εaid monitoring of εaid student during said current instructional session for use during εubεequent inεtructional sessions; and (d) outputting information on said computer to guide said student in said interactive instruction, said output information responsive to said monitoring of said student during said current instructional sesεion and to εaid stored information responεive to εaid monitoring of said εtudent during previouε instructional sesεionε; whereby said system acts as a virtual tutor adapted to said student, said virtual tutor for guiding said interactive instruction of εaid εtudent.
2. The method according to claim 1 further compriεing after εaid εtep of monitoring a further εtep of controlling said one or more materials, εaid controlling reεponεive to εaid monitoring of εaid εtudent during εaid current instructional seεεion and to εaid stored information responεive to εaid monitoring of said student during previous instructional sesεionε, and wherein εaid one or more inεtructional materialε are responεive to said controlling; whereby said interactive instruction presented by said syεtem iε individualized to said student.
3. The method according to claim 2 wherein said step of monitoring further comprises monitoring pedagogic characteristics of said interactive instruction of said student by said one or more materials, and said step of controlling further comprises controlling said one or more materials in order to present interactive instruction with said pedagogic characteristics.
4. The method according to claim 3 wherein said pedagogic characteristics are selected from the group comprising time pacing of interactive instruction, new concept seeding rate, density of examples, and discrimination difficulty.
5. The method according to claim 2 wherein said εtep of monitoring further comprises monitoring according to an instructional context and an instructional format adopted by each of said one or more materials.
6. The method according to claim 2 further comprising before said step of controlling and said step of outputting a further step of generating at least one action responεive to said monitoring of said student during said current instructional seεsion and to εaid εtored information reεponεive to εaid monitoring of said student during previous inεtructional εeεsionε, and wherein εaid εtep of controlling iε responsive to said generated action (ε) and wherein εaid step of outputting is responεive to said generated action(ε) .
7. The method according to claim 6 wherein said of generating εtep generates action(ε) according to one or more tableε of rules.
8. The method according to claim 6 wherein said of generating step generates action(ε) according to one or more methods selected from the group of expert systems, neural networks, Bayesian belief networkε, and εtatistical pattern recognition.
9. The method according to claim 1 wherein said step of outputting information further comprises (i) a step of selecting an utterance and an affect from one or more utterance tables in a manner responsive to said monitoring of εaid εtudent during said current instructional session and to said stored information responsive to said monitoring of said student during previous instructional seεεionε, and (ii) a εtep of selecting a visual display from one or more tables of display behaviors in a manner responsive to said utterance, said affect, and said monitoring and εaid εtored information.
10. The method according to claim 9 wherein εaid εtep of monitoring further comprises monitoring pedagogic information describing the pedagogic characteristicε of said student, wherein said selected display behavior comprises one or more perεonae, and wherein said selected viεual diεplay iε further reεponεive to said pedagogic information,- whereby said one or more personae present a life¬ like appearance individualized to said student's cognitive style.
11. The method according to claim 1 further comprising prior to said step of outputting a step of inputting at leaεt one request of said student for guidance in said interactive instruction, and wherein said output information is further responsive to said input requestε.
12. The method according to claim 1 wherein said computer accesεed by said student iε one computer of a plurality of computerε interconnected by a network, and wherein said student can access any of said plurality of computerε for an instructional session.
13. The method according to claim 1 wherein said output information further compriseε an utterance,_ and wherein the εtep of outputting further comprises a step of selecting εaid utterance from one or more candidate utterances, and a further step of outputting said utterance as text or speech.
14. The method according to claim 13 wherein said step of selecting further compriεeε εelecting said one or more candidate utterance from one or more tables of utterances.
15. The method according to claim 14 wherein said one or more table of utterances comprise at least 1,000 utterances.
16. The method according to claim 13 wherein said one or more candidate utterances compriεeε at leaεt 10 utteranceε .
17. The method according to claim 1 wherein εaid reεponsive output information further compriseε a display behavior, and wherein the εtep of outputting further compriεeε a εtep of εelecting εaid diεplay behavior from one or more candidate diεplay behaviorε, and a further εtep of outputting εaid diεplay behavior.
18. The method according to claim 17 wherein εaid εtep of εelecting further compriεes selecting one or more candidate display behaviors from one or more tables of display behaviorε.
19. The method according to claim 18 wherein said one or more tables of display behaviorε comprise at least 1,000 display behaviors.
20. The method according to claim 17 wherein said one or more candidate display behaviorε compriεeε at leaεt 10 display behaviors .
21. The method according to claim 17 wherein said step of outputting said selected display behavior compriεeε outputting one or more modalities selected from the group conεiεting of text, voice, audio, animation, video, and Preformatted animated εequenceε.
22. The method according to claim 17 wherein said selected display behavior comprises one or more persona.
23. The method according to claim 1 wherein said one or more materials is a plurality of materialε.
24. The method according to claim 1 wherein said one or more studentε iε a plurality of εtudents.
25. The method according to claim 1 wherein said step of monitoring further compriseε monitoring pedagogic information deεcribing the pedagogic characteriεticε of εaid εtudent in a manner independent of the subject matters of said one or more materials.
26. The method according to claim 1 wherein εaid εtep of monitoring further comprises monitoring progress and performance information describing the progress and performance of said student in said interactive instruction presented by each of said one or more materials.
27. The method according to claim 1 wherein said step of storing further compriseε εtoring εaid information reεponεive to εaid monitoring in one of one or more εtudent data objectε, each student data object of said one or more student data objects being uniquely asεociated with exactly one student of said one or more students .
28. The method according to claim 1 wherein said one or more materials further comprise a material engine and one or more materials data, and wherein said step of preεenting interactive inεtruction by executing one or more materials further comprises executing said materials engine which references εaid one or more materialε data.
29. The method according to claim 28 wherein said materials data further comprise notations, and wherein said step of monitoring further comprises said materials engine referencing said notations in order to generate monitoring information.
30. A method of operating an agent based instruction syεtem for interactive inεtruction of one or more students, said method comprising:
(a) checking the authority of one of said εtudentε to access said syεtem for interactive inεtruction by one or more materials at a computer, said computer being one computer of a plurality of computers interconnected by a network;
(b) loading to εaid computer εoftware and data for εaid interactive instruction; (c) executing said one or more materials on said computer for presenting interactive instruction to said one student ,- and
(d) outputting information on said computer to guide said student in said interactive inεtruction, εaid output information reεponεive to performance of εaid interactive instruction of said student.
31. The method according to claim 30 further comprising after said step of loading a further step of monitoring said interactive instruction, said monitoring generating monitoring information that monitors said interactive instruction of said student, and wherein said step of outputting information is responεive to said monitoring information; whereby said εyεtem acts as a virtual tutor adapted to said one student, said virtual tutor for guiding εaid interactive instruction of said student.
32. The method according to claim 31 further comprising after said monitoring step a further step of controlling said one or more materials to present instruction to said student that iε responsive to said monitoring information, whereby said interactive instruction preεented by εaid system is individualized to said student.
33. The method according to claim 32 further comprising after said loading step a further step of maintaining a model of εaid one εtudent, εaid maintaining reεponεive to εaid monitoring information of said εtudent, and wherein the εtep of outputting and the εtep of controlling are further responsive to said model of said student, whereby said outputting εtep and εaid controlling εtep adapt to εaid εtudent thereby individualizing εaid interactive mεtruction of εaid εtudent.
34. The method according to claim 30 wherein said one or more materials comprise a plurality of materials.
35. The method according to claim 30 wherein one or more of said plurality of computers are configured as one or more server computers for holding databaseε of software and data, and said εtep of loading further compπεes loading acrosε εaid network to εaid computer from εaid databaεeε.
36. The method according to claim 35 wherein εaid loading occurε when εaid εoftware and data is demanded at said computer.
37. The method according to claim 35 further comprising caching read-only data on said computer.
38. The method according to claim 30 wherein said step of outputting information further compriseε outputting information in one or more output modalitieε .
39. The method according to claim 38 where said one or more output modalities are one or more output modalities selected from the group conεiεting of text, graphics, speech, audio, animation, video, and preformatted animated sequenceε.
40. The method according to claim 38 wherein εaid εtep of outputting selectε said output modalities to output one or more persona or personae responsive to said interactive instruction.
41. The method according to claim 38 wherein said output modalities further compriεe content, and εaid step of outputting information further compriεeε a εtep of loading εaid content to εaid computer.
42. A method of operating an agent baεed instruction syεtem for interactive inεtruction of one or more εtudents over a plurality of instructional sesεionε, εaid method compriεing: (a) preεenting interactive inεtruction to one of εaid εtudents by executing one or more materials on a computer accesεed by said student for a current instructional sesεion;
(b) monitoring said interactive instruction of εaid εtudent during εaid current inεtructional εesεion,-
(c) storing information reεponεive to said monitoring of said student during said current instructional seεεion for uεe during εubsequent instructional εeεεionε,-
(d) determining an affect reεponεive to said monitoring of said student during said current instructional seεsion and to said stored information responsive to said monitoring of said student during previous instructional sessions; and
(e) outputting information on said computer to guide said student in said interactive instruction, said output information responεive to εaid affect, to said monitoring of εaid student during εaid current inεtructional εession, and to said stored information responsive to said monitoring of said student during previous instructional seεεions, said output information comprising a visual display, whereby εaid visual display is responsive to said affect and to said interactive instruction m a life-like manner.
43 The method according to claim 42 wherein said step of monitoring further comprises monitoring pedagogic characteristicε of said student, and wherein the step of determining an affect determines an affect further responεive to said pedagogic characteristicε, whereby said viεual diεplay lε responsive in a life-like manner individualized to said student'ε cognitive style
44 The method according to claim 42 wherein said output information further comprises an utterance, and wherein the step of outputting further compriseε a εtep of selecting said utterance from one or more tables of utterances m a manner responεive to εaid monitoring and to said εtored information, and a further εtep of outputting said utterance as text or speech, whereby said utterance and said viεual display are responεive in a life-like manner.
45. The method according to claim 42 wherein εaid εtep of outputting further compriεeε εelecting said viεual diεplay from one or more tableε of visual displayε in a manner reεponεive to εaid affect, to said monitoring, and to said stored information.
46. The method according to claim 42 wherein said selected diεplay behavior comprises one or _more persona
47. An agent based instruction system for interactive instruction of one or more studentε, εaid εystem comprising:
(a) one or more computerε having interactive input/output devices and interconnected by a network; (b) one or more materials executable on said one or more computers, each said material for presenting interactive instruction to said one or more students and for generating monitoring information that monitors said interactive instruction,- and (c) one or more agents executable on said one or more computerε, each said agent asεociated with exactly one of εaid εtudentε and each said student associated with exactly one of said agents, each said agent comprising
(i) action procesεing for controlling εaid one or more materialε to inεtruct εaid aεεociated εtudent, εaid controlling being reεponεive to said monitoring information that monitors said interactive instruction of said associated student, and
(ii) behavior processing for outputting information to guide εaid asεociated εtudent, εaid outputting being reεponεive to said monitoring information that monitors said interactive instruction of said asεociated student; whereby said system acts as a virtual tutor to each of εaid εtudentε and εaid interactive instruction of each of said students iε individualized to each student.
48. The syεtem according to claim 47 further compriεing executive εoftware for interfacing εaid one or more materialε and εaid one or more agentε to εaid one or more computerε and to said network.
49. The system according to claim 47 wherein said network is configured to permit any one of said students to accesε any one of εaid one or more materialε from any one of said computers.
50. The εystem according to claim 47 wherein said network is configured to permit one or more of said computers to be located in one or more locations .
51. The syεtem according to claim 50 wherein one or more of said locationε are residences of one or more of said students .
52. The system according to claim 50 wherein one or more of said materials presentε homework to one or more of εaid εtudentε .
53. The εyεtem according to claim 47 wherein εaid network iε further configured to be a packet switched network.
54. The syεtem according to claim 47 wherein εaid agent action proceεεing is further reεponsive to a request for guidance from said associated student, and wherein said agent behavior procesεing iε further reεponεive to εaid requeεt for guidance .
55. The εyεtem according to claim 54 wherein εaid agent behavior proceεεing further compriεeε (i) utterance generation proceεεing for εelecting an utterance and an affect reεponεive to εaid monitoring information or to εaid request for guidance, and (ii) viεual diεplay generation for εelecting a visual display responεive to εaid utterance and εaid affect.
56. The εyεtem according to claim 55 wherein εaid agent behavior proceεsing selects said utterance and εaid visual display to represent a persona, said selection being from a table of available personas and according to the preferences of said associated student.
57. The εystem according to claim 47 wherein said materials further comprise inεtructional materialε executable on εaid computerε for interactive inεtruction of εaid εtudentε, and toolε executable on said computers for aεεiεtance of said studentε in said interactive instruction.
58. The syεtem according to claim 57 wherein said instructional materials further comprise instructional materials appropriate to primary or secondary education.
59. The syεtem according to claim 57 wherein εaid toolε further compriεe one or more toolε εelected from the group compriεing a calculator, a dictionary, a theεauruε, an atlaε, an encyclopedia, and a network εearch tool.
60. The εyεtem according to claim 57 wherein εaid toolε further comprise a εtarfish tool for displaying and selecting relationεhipε .
61. The εyεtem according to claim 47 further comprising one or more εchedule/calendar toolε executable on εaid computers, each εaid schedule/calendar tool associated with exactly one of said plurality of studentε and each εaid εtudent aεεociated with exactly one of εaid εchedule/calendar toolε, each εaid εchedule/calendar toolε for outputting to said asεociated εtudent information relating to εcheduled activities of said associated student, and for providing to said agent of said asεociated student information relating to scheduled activities of said associated student.
62. The syεtem according to claim 61 further comprising data areas for each of said students characterizing scheduled activities according to deadline date and priority, and wherein said schedule/calendar tool further limitε said associated εtudent to interactive instruction according to said data areas characterizing said scheduled activities.
63. The εystem according to claim 47 further comprising one or more communication tools executable on said computers for providing forms of interactive group instruction to a group of said studentε, and for generating monitoring information that monitorε said group instruction of each student in said group.
64. The syεtem according to claim 63 where εaid formε of group instruction are selected from the group consiεting of exchange of messageε, group work on a εhared material, and group participation in educational contests.
65. The system according to claim 47 wherein one or more of said materials further comprises materials engine software and materials data, and wherein εaid materialε engine proceεε εaid materialε data to preεent εaid interactive inεtruction.
66. The system according to claim 65 wherein each of said materials data further comprises:
(a) a plurality of display objects for presentation;
(b) εequencing logic for controlling the order of said presentation of εaid plurality of diεplay objects,- and (c) notations for causing generation of said monitoring information.
67. The syεtem according to claim 47 wherein one or more of εaid materialε comprises a program having data and instructionε .
68. The εystem according to claim 47 further comprising pedagogic information data areas for each student, said pedagogic information data areas comprising data for a pedagogic model of said student, and wherein said agent action processing and εaid agent behavior proceεεing iε further reεponεive to εaid pedagogic information data areas.
69. The system according to claim 68 wherein said data in said pedagogic information data areas does not depend on the subject matter of said one or more materialε.
70. The εyεtem according to claim 68 wherein said agent action processing updates said pedagogic information data areas associated with εaid agent'ε associated student, said updating being responsive to said monitoring information, whereby said associated agent adapts to said student .
71. The syεtem according to claim 68 further compriεing progress and performance data areaε for each εtudent, εaid progreεε and performance data areaε compriεing data deεcribing progreεε and performance of each εaid student in said interactive instruction, and wherein said agent action processing and said agent behavior processing are further responsive to said progress and performance information data areas .
72. The εyεtem according to claim 71 wherein εaid agent action proceεεing updateε εaid progreεs and performance data areas associated with said asεociated student of said agent, said updating responεive to said monitoring information,- whereby εaid aεεociated agent adaptε to εaid εtudent.
73. The εyεtem according to claim 47 wherein one or more of said materials presents said interactive instruction according to an education paradigm, and wherein said monitoring information generated by said materials further compriseε pedagogic information classified according to said education paradigm of said materials.
74. The system according to claim 73 further comprising control parameterε for each material that have an educational paradigm, wherein each material preεentε εaid interactive inεtruction according to valueε of said control parameters, and wherein said agent action processing assigns said values of said control parameters; whereby εaid agent action proceεεing controlε εaid materials .
75. The εyεtem according to claim 73 wherein εaid educational paradigm iε εelected from the group conεiεting of interactive tutorial, fluency exerciεe, paired association exercise, discrimination formation exercise, and simulation exercise.
76. The system according to claim 73 wherein said educational paradigm is standardized according to an instructional context and an instructional format .
77. The εystem according to claim 76 wherein said instructional context is selected from the group consiεting of prerequiεite teεt, prerequisite review, pretest, new material introduction, new material discrimination, new material review, fluency exerciεe practice, review practice, and unit mastery test.
78. The syεtem according to claim 76 wherein εaid inεtructional format iε εelected from the group conεiεting of multiple choice, unprompted fill-in-the-blank, fill-in-the- blank εelected from a liεt, paired aεεociateε by letter, paired aεsociates by dragging, paired aεεociateε by matching, computation, εimulation to identify partε of figureε or text, and εimulation game.
79. The εystem according to claim 47 wherein said agent action proceεεing generateε at leaεt one action reεponsive to said monitoring information.
80. The system according to claim 79.wherein said agent action procesεing further comprises software using one or more techniques εelected from the group of expert εystems, neural networkε, Bayesian belief networks, and statiεtical pattern recognition.
81. The εyεtem according to claim 79 further compriεing a plurality of tableε of rules, and wherein said agent action processing software further comprises software referencing - said plurality of tables of rules in order to control said one or more materials and to generate said action(ε) .
82. The εystem according to claim 81 wherein said plurality of tables of rules compriεeε a policy filter table, a decision weight table, and a selection criteria table, and wherein said agent action procesεing referenceε εaid policy filter table for determining one or more candidate actionε, referenceε said decision weight table for ranking said one or more candidate actions, and references said selection criteria table for selecting said action(ε) from εaid ranked candidate actionε.
83. The system according to claim 79 wherein said agent behavior processing is responεive to said action(ε) in order to output information reεponεive to εaid monitoring information.
84. The εyεtem according to claim 83 further comprising a plurality of tables of possible outputs, and wherein said agent behavior processing software references said tableε of possible outputs.
85. The syεtem according to claim 84 wherein εaid one or more tableε of possible outputs further comprise an utterance template table and a display behavior table, and wherein said agent behavior processing references said utterance template table for selecting an utterance and an affect according to said action(ε) , and references said display behavior table for selecting a visual display according to said action(s) , εaid utterance, and εaid affect.
86. The εyεtem according to claim 83 wherein said agent behavior procesεing outputε information in a plurality of output modalitieε .
87. The εyεtem according to claim 83 wherein said output modalities are one or more output modalities selected from the group consiεting of text, graphicε, εpeech, audio, animation, video, and preformatted animated sequences.
88. The system according to claim 47 further comprising one or more student data objects, each of said student data objectε aεεociated with exactly one εtudent, and wherein each agent stores information reflecting said monitoring information of said one student asεociated with εaid agent in said one εtudent data object associated with said associated student .
89. The syεtem according to claim 88 wherein εaid εtudent data object associated with one student further compriseε:
(a) pedagogic information deεcribing a pedagogic model of εaid one student; and
(b) progress and performance information for describing the progresε and performance of εaid εtudent in εaid materialε.
90. The system according to claim 89 wherein said agent associated with each student further comprises agent software and said student data object associated with said student, and wherein said agent software references and updates said associated student data object.
91. The system according to claim 47 wherein one or more of said computers are configured as server systemε, wherein εaid εerver εyεtemε store said one or more materials and one or more agents, and wherein said one or more computers downloads said materials and said one or more agents from said one or more server systems across said computer network.
92. The system according to claim 91 further comprising databases of pedagogic information and materials progress and performance information for said one or more students, and wherein εaid databases are stored on εaid εerver systems.
93. The system according to claim 92 further comprising reporting software for generating reports from εaid databases of pedagogic information and materials progresε and performance information for εaid one or more εtudentε.
94. The εyεtem according to claim 47 further compriεing one or more εystem managers executable on εaid one or more computerε, wherein said interactive input/output devices include a computer diεplay at each of εaid one or more computerε, and wherein εaid εyεtem manager executing on one computer partitionε εaid diεplay of εaid one computer into one or more diεplay areaε.
95. The εystem according to claim 94 wherein said one or more display areas are selected from the group comprising an agent area for agent interactivity, a materials area for materials interactivity, and a system area in which said syεtem manager diεplayε εelection iconε for available εyεtem toolε and facilitieε.
96. The system according to claim 95 wherein εaid one or more materials and said one or more agents provide facilities always available to said one or more students and said materials area and said agent area comprise sub-areas whose selection activates one of said always available facilities .
97. The syεtem according to claim 95 wherein said one or more display areas change in size from time to time.
98. The system according to claim 47 wherein one or more teachers directs instruction of one or more of said studentε, said system further comprising:
(a) one or more teacher materials executable on said one or more computerε, each said teacher material for presenting interactive instruction to teachers in the use of said system and in the use of materials directed to said students and for generating monitoring information that monitors εaid interactive instruction,- and (b) one or more teacher agents executable on said one or more computers, each said teacher agent asεociated with exactly one of εaid teachers and each said teacher associated with exactly one of εaid agentε, each said agent comprising (i) action processing for controlling said one or more materials to instruct said aεεociated teacher, εaid controlling being reεponεive to εaid monitoring information that monitorε εaid interactive inεtruction of εaid aεεociated teacher, and (ii) behavior proceεεing for outputting information to guide said aεεociated teacher, said outputting being responεive to εaid monitoring information that monitorε εaid interactive instruction of said asεociated teacher.
99. An agent based instruction syεtem for interactive inεtruction of one or more εtudents, εaid εyεtem compriεing:
(a) one or more computerε having interactive input/output deviceε and interconnected by a network;
(b) one or more materials executable on said one or more computers, each said material for presenting interactive instruction to said one or more si.udentε and for generating monitoring information that monitorε said interactive instruction,- and
(c) one or more agents executable on said one or more computers, each said agent associated with exactly one of said students and each said student asεociated with exactly one or said agents, each said agent comprising P 7/08
(i) utterance generation processing for selecting an affect and an utterance to guide said one asεociated εtudent, εaid selecting of said affect and said utterance being reεponεive to said monitoring information that monitors said interactive instruction of said one associated student, and
(ii) visual display generation for selecting a visual display to guide said one asεociated εtudent, εaid selecting of said visual display being responsive to said affect, to said utterance, and to said monitoring information that monitors said interactive instruction of said associated student, and
(iii) output processing for outputting to said associated student said selected utterance and εaid εelected visual display; whereby said selected visual display and said selected utterance are responεive to said affect and to said interactive instruction in a life-like manner.
100. The syεtem according to claim 99 wherein said monitoring information further compriseε pedagogic information deεcribing the pedagogic characteriεticε of εaid aεεociated εtudent, and wherein utterance generation processing selects an affect further responsive to said pedagogic information; whereby said selected visual display and εaid εelected utterance are further reεponεive in a manner individualized to a cognitive style of said associated εtudent .
101. The εyεtem according to claim 99 wherein said utterance generation processing selects said affect and said utterance from one or more tables of utteranceε.
102. The εyεtem according to claim 99 wherein εaid viεual diεplay proceεεing selects said visual display from one or more tables of visual displayε.
103. The system according to claim 99 wherein said selected visual display comprises one or more persona.
104. The system according to claim 99 further comprising action processing for generating at least one action and for controlling said one or more materials to instruct said associated student, said generating and said controlling being responsive to said monitoring information that monitors said interactive instruction of said associated student, and wherein said utterance generation processing and εaid viεual display selection procesεing are further responsive to said action (s) .
105. A method of operating an agent based instruction system for instruction of a plurality of students, said method comprising:
(a) executing one or more materials on a computer for presenting interactive instruction to one student of said plurality of students, said computer being one computer of a plurality of computers interconnected by a network, each computer of εaid plurality having interactive input/output devices;
(b) generating monitoring information that monitors said interactive instruction presented to said student; and
(c) controlling εaid one or more materialε to instruct said εtudent, εaid controlling being reεponεive to said information monitoring the interactive instruction of said student; whereby said interactive instruction iε individualized to each student of said plurality of studentε.
106. The method according to claim 105 further comprising after said εtep of generating a further step of outputting information on said computer to.guide εaid student in said interactive instruction, said outputting information responsive to said monitoring information of said interactive instruction of said student; whereby said system acts aε a virtual tutor adapted to said student, said virtual tutor for guiding said interactive instruction of said student.
107. The method according to claim ? wherein said output information further comprises one or more persona.
108. The method according to claim ? wherein said step of outputting information further comprises outputting information in a plurality of output modalities.
109. The method according to claim 108 wherein said output modalities are one or more output modalities selected from the group consisting of text, graphicε, speech, audio, animation, video, and preformatted animated sequences
110. The method according to claim ? wherein said step of outputting information further compriseε (i) a step of selecting an utterance and an affect from one or more utterance tables in a manner responεive to εaid controlling step and (ii) a step of selecting a visual display from one or more tables of display behaviors in a manner responsive to said utterance, said affect, and said controlling step.
111. The method according to claim ? further comprising prior to said outputting step a further step of inputting student requestε for guidance in said interactive instruction, and wherein said step of outputting information is further responsive to said student requests.
112. The method according to claim 105 wherein said one or more materials is a plurality of materials.
113. The method according to claim 105 further comprising prior to said executing step a further step of accessing any one of said computers by said one student, said accessing comprising verifying the authority of said one student to access said system for interactive instruction by said one or more materials.
114. The method according to claim 113 wherein one or more of said computers are located in a plurality of locations, and wherein the step of accessing further compriseε accessing any of said computers in plurality of locations.
115. The method according to claim 114 wherein one or more of said plurality of locations are residenceε of one or more of εaid εtudentε, and wherein said one or more materials presents homework in said one or more residenceε.
116. The method according to claim 105 wherein said step of controlling further comprises controlling according to one or more tables of rules.
117. The method according to claim 116 wherein said one or more tables of rules further comprise a policy filter table, a decision weight table, and a selection criteria table, and wherein said controlling step controls said one or more materials according to one or more determined controlling actions, and wherein said controlling step references said policy filter table for determining one or more candidate controlling actionε, referenceε εaid deciεion weight table for ranking said one or more candidate controlling actions, and references said selection criteria table for selecting one or more controlling actions from said ranked candidate controlling actions.
118. The method according to claim 105 wherein said step of controlling further comprises controlling according to one or more methods selected from the group conεiεting of expert systems, neural networks, Bayesian belief networks, and statiεtical pattern recognition.
119. The method according to claim 105 wherein the step of executing further compriseε executing one or more of said one or more materials according to an educational paradigm, and wherein said monitoring information further comprises pedagogic information classified according to said educational paradigm adopted by said one or more materials.
120. The method according to claim 119 wherein said educational paradigm is standardized according to an instructional context and an instructional format.
121. The method according to claim 105 further comprising after said generating step a further step of updating one student model of a plurality of student models, each student of said plurality of studentε being associated with exactly one εtudent model, said updating being responsive to the information monitoring the interactive instruction of said student, and wherein the step of controlling said one or more materials to instruct said student is further responsive to said student model of said student,- whereby said one or more materials are individualized to εaid student.
122. The method according to claim 121 wherein said step of updating further comprises updating pedagogic information in said student model, εaid pedagogic information describes pedagogic characteristics of said student of said plurality of students in a manner independent of the subject matters of said one or more materials.
123. The method according to claim 121 wherein said step of updating further comprises updating progresε and performance information in εaid student model, said progress and performance information describes the progress and performance of said student in said interactive instruction presented by each of said one or more materials.
124. The me:nod according to claim 105 wherein said one or more materials further comprises one or more instructional materials for presenting interactive instruction to said plurality of studentε, and one or more tools for presenting interactive assistance to said plurality of εtudents during εaid interactive instruction.
125. The method according to claim 105 further comprising prior to said controlling step (i) a step of executing one scheduler/calendar toolε of a plurality of scheduler/calendar tools, each student of said plurality of students being asεociated with exactly one scheduler/calendar tool, said one scheduler/calendar tool providing said student with information relating to scheduled activities of εaid student, and (ii) a εtep of generating monitoring information that monitorε εaid scheduled activities of said student.
126. The method according to claim 125 wherein the step of executing executes one or more materials that relate to said εcheduled activitieε of εaid εtudent.
127. The method according to claim 105 further compriεing prior to εaid controlling εtep (i) a εtep of executing one or more communication toolε for presenting one or more forms of group instruction to a group of studentε, said group including εaid student, and (ii) a step of generating monitoring information that monitors said group instruction of said student.
128. A method of operating an agent based instruction εystem for instruction of a plurality of studentε, said method comprising: 97
(a) a step for executing one or more materials on a computer for presenting interactive instruction to each student, said computer being one computer of a plurality of computers interconnected by a network, each computer of said plurality having interactive input/output devices,-
(b) a step for generating monitoring information that monitors said interactive instruction presented to each student of said plurality of studentε;
(c) a step for controlling said one or more materials to instruct each student, said controlling being responsive to said information monitoring the interactive instruction of each student; and
(d) a step of outputting information to each student in order to guide each student in said interactive instruction, said outputting step responsive to εaid information monitoring the interactive inεtruction of each student and responsive to said controlling step; whereby said interactive instruction is individualized to each student of said plurality of students and acts as a virtual tutor individualized to each εtudent.
129. An agent based instruction syεtem for instruction of a plurality of students, said εyεtem comprising:
(a) means for presenting interactive instruction to each εtudent by one or more materialε;
(b) meanε for generating monitoring information that monitorε εaid interactive instruction presented to each student;
(c) means for controlling said one or more materials to instruct each student, said controlling being responsive to said information monitoring the interactive instruction of each student; and
(d) means for outputting information to each student in order to guide each student in said interactive instruction, said means for outputting being responsive to said information monitoring the interactive instruction of each εtudent and responsive to said means for controlling,- whereby said interactive instruction is individualized to each student and said acts as a virtual tutor individualized to each student.
130. An agent based instruction system for instruction of a student, said εystem comprising:
(a) one or more materials executable on a computer for presenting interactive instruction to said student, said computer having interactive input/output devices,- and (b) an agent executable on εaid computer, said agent (i) receiving monitoring information from each of said one or more materials that monitors said interactive instruction of said student, (ii) controlling said one or more materials to instruct said student, said controlling being responsive to said monitoring information, and (iii) outputting information to guide said student, said outputting being responεive to εaid monitoring information.
131. A system for agent-based, interactive instruction of one or more studentε over a plurality of instructional sesεionε, εaid system comprising:
(a) means for presenting interactive instruction to one of said studentε by executing one or more materials on a computer accesεed by said εtudent for a current inεtructional seεεion,-
(b) meanε for monitoring said interactive instruction of said student during said current instructional εeεsion,-
(c) means for storing information responsive to said monitoring of said student during said current instructional sesεion for use during subsequent instructional sessions; and
(d) means for outputting information on said computer to guide said student in said interactive instruction, said output information responsive to said monitoring of said εtudent during said current instructional session and to said stored information responsive to said monitoring of said student during previous instructional sesεions; whereby said system acts as a virtual tutor adapted to said student, said virtual tutor for guiding said interactive instruction of said student.
132. A system for agent-based, interactive instruction of one or more studentε over a plurality of inεtructional sessions, said system comprising: (a) means for presenting interactive instruction to one of said students by executing one or more materials on a computer accessed by said student for a current instructional session;
(b) means for monitoring said interactive instruction of said student during said current instructional sesεion;
(c) means for storing information responεive to said monitoring of said εtudent during said current instructional seεεion for use during subsequent instructional sessions,-
(d) means for determining an affect responsive to said monitoring of said student during said current instructional seεεion and to said stored information responsive to said monitoring of said student during previous instructional seεεionε,- and
(e) means for outputting information on said computer to guide said student in said interactive instruction, said output information responsive to said affect, to said monitoring of said student during said current instructional session, and to said stored information responsive to said monitoring of said student during previous instructional sesεionε, said output information comprising a visual display; whereby said visual display is responsive to said affect and to said interactive instruction in a life-like manner.
133. A computer readable medium comprising instructions erforming the method of claim 1.
134. A computer readable medium comprising instructions erforming the method of claim 30.
135. A computer readable medium comprising instructions erforming the method of claim 42.
PCT/US1997/008687 1996-05-22 1997-05-22 Agent based instruction system and method WO1997044767A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU31383/97A AU3138397A (en) 1996-05-22 1997-05-22 Agent based instruction system and method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/651,422 US5727950A (en) 1996-05-22 1996-05-22 Agent based instruction system and method
US2284496P 1996-07-31 1996-07-31
US60/022,844 1996-07-31
US08/651,422 1997-01-31

Publications (2)

Publication Number Publication Date
WO1997044767A1 true WO1997044767A1 (en) 1997-11-27
WO1997044767A9 WO1997044767A9 (en) 1998-04-02

Family

ID=26696434

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/008687 WO1997044767A1 (en) 1996-05-22 1997-05-22 Agent based instruction system and method

Country Status (2)

Country Link
AU (1) AU3138397A (en)
WO (1) WO1997044767A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1003141A1 (en) * 1998-11-17 2000-05-24 Alcatel Method for automatic generation of a lesson plan and for monitoring its execution course by a computer
WO2000043972A1 (en) * 1999-01-26 2000-07-27 Microsoft Corporation Study planner system and method
WO2001009864A1 (en) * 1999-07-28 2001-02-08 Erudite, Llc System and method for interactive multi-modal distance learning
WO2001093226A2 (en) * 2000-06-01 2001-12-06 Cehub.Com, Inc. A comprehensive system, process and article of manufacture to facilitate institutional, regulatory and individual continuing education requirements via a communications network
US6427063B1 (en) 1997-05-22 2002-07-30 Finali Corporation Agent based instruction system and method
US7246315B1 (en) 2000-05-10 2007-07-17 Realtime Drama, Inc. Interactive personal narrative agent system and method
US7614014B2 (en) 2001-04-05 2009-11-03 Daniel Keele Burgin System and method for automated end-user support
US7844907B2 (en) 2002-10-16 2010-11-30 William Watler System and method for dynamic modification of web content
US7995735B2 (en) 2004-04-15 2011-08-09 Chad Vos Method and apparatus for managing customer data
US8096809B2 (en) 2001-04-05 2012-01-17 Convergys Cmg Utah, Inc. System and method for automated end-user support
CN110322098A (en) * 2018-03-30 2019-10-11 Cae有限公司 S.O.P. feedback during interactive computer simulation
USRE47908E1 (en) 1991-12-23 2020-03-17 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE48056E1 (en) 1991-12-23 2020-06-16 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US11107289B2 (en) 2011-04-08 2021-08-31 Nant Holdings Ip, Llc Interference based augmented reality hosting platforms

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5310349A (en) * 1992-04-30 1994-05-10 Jostens Learning Corporation Instructional management system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5310349A (en) * 1992-04-30 1994-05-10 Jostens Learning Corporation Instructional management system

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE47908E1 (en) 1991-12-23 2020-03-17 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE49387E1 (en) 1991-12-23 2023-01-24 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE48056E1 (en) 1991-12-23 2020-06-16 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US6606479B2 (en) 1996-05-22 2003-08-12 Finali Corporation Agent based instruction system and method
US6427063B1 (en) 1997-05-22 2002-07-30 Finali Corporation Agent based instruction system and method
AU754173B2 (en) * 1998-11-17 2002-11-07 Alcatel A process for the automatic creation and monitoring of a progress plan for a training course by a computer
US6790044B1 (en) 1998-11-17 2004-09-14 Alcatel Process for the automatic creation and monitoring of a progress plan for a training course by a computer
EP1003141A1 (en) * 1998-11-17 2000-05-24 Alcatel Method for automatic generation of a lesson plan and for monitoring its execution course by a computer
WO2000043972A1 (en) * 1999-01-26 2000-07-27 Microsoft Corporation Study planner system and method
US6353447B1 (en) * 1999-01-26 2002-03-05 Microsoft Corporation Study planner system and method
WO2001009864A1 (en) * 1999-07-28 2001-02-08 Erudite, Llc System and method for interactive multi-modal distance learning
US7246315B1 (en) 2000-05-10 2007-07-17 Realtime Drama, Inc. Interactive personal narrative agent system and method
WO2001093226A3 (en) * 2000-06-01 2002-10-24 Cehub Com Inc A comprehensive system, process and article of manufacture to facilitate institutional, regulatory and individual continuing education requirements via a communications network
WO2001093226A2 (en) * 2000-06-01 2001-12-06 Cehub.Com, Inc. A comprehensive system, process and article of manufacture to facilitate institutional, regulatory and individual continuing education requirements via a communications network
US8096809B2 (en) 2001-04-05 2012-01-17 Convergys Cmg Utah, Inc. System and method for automated end-user support
US8636515B2 (en) 2001-04-05 2014-01-28 Convergys Customer Management Group Inc. System and method for automated end-user support
US7614014B2 (en) 2001-04-05 2009-11-03 Daniel Keele Burgin System and method for automated end-user support
US7844907B2 (en) 2002-10-16 2010-11-30 William Watler System and method for dynamic modification of web content
US7995735B2 (en) 2004-04-15 2011-08-09 Chad Vos Method and apparatus for managing customer data
US11107289B2 (en) 2011-04-08 2021-08-31 Nant Holdings Ip, Llc Interference based augmented reality hosting platforms
CN110322098A (en) * 2018-03-30 2019-10-11 Cae有限公司 S.O.P. feedback during interactive computer simulation
CN110322098B (en) * 2018-03-30 2024-03-12 Cae有限公司 Standard operating program feedback during interactive computer simulation

Also Published As

Publication number Publication date
AU3138397A (en) 1997-12-09

Similar Documents

Publication Publication Date Title
US6201948B1 (en) Agent based instruction system and method
US6606479B2 (en) Agent based instruction system and method
AU725261B2 (en) Agent based instruction system and method
AU2002259159B2 (en) System and method of virtual schooling
US6890181B2 (en) Methods and systems for multimedia education
US20040014017A1 (en) Effective and efficient learning (EEL) system
US20020188583A1 (en) E-learning tool for dynamically rendering course content
Steed Web-based training
AU2002259159A1 (en) System and method of virtual schooling
WO1997044767A1 (en) Agent based instruction system and method
WO1997044767A9 (en) Agent based instruction system and method
Specht ATS-adaptive teaching system: A WWW-based ITS
Lin et al. Adaptive interaction through WWW
Joshi Use of Learning Style for Content Delivery Personalization
Huckvale et al. Computer-aided learning and use of the internet
Trentin et al. A learning-lab where AI meets hypermedia
AU2007226806A1 (en) System and method of virtual schooling
Handy Internet-based collaborative learning: A case study of an undergraduate honors English class
Wibowo Subject utilization of alternate information sources in a classification task setting: an exploratory study
Fansler A taxonomy of asynchronous online education: Establishing the phenomenon
Wilson The effect of interactive review on motivation and job performance in survey research workers
Szwarct et al. A Prototype Expert System For Teaching
Janvier Comparative Analysis & Evaluation Comparative Analysis & Evaluation Of Administration Administration–Authoring Authoring Authoring–Learning Learning Learning Using Blackboard 5
Janicki Increasing the effectiveness of web-based tutorials by adding pedagogy to web-based authoring tools
Sayers The effect of different teaching strategies on the length and frequency of Grades 5-7 Early French Immersion students' discourse

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AU AZ BA BB BG BR BY CA CN CU CZ EE GE GH HU IL IS JP KG KP KR KZ LC LK LR LT LV MD MG MK MN MX NO NZ PL RO RU SG SI SK TJ TM TR TT UA US UZ VN YU AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
COP Corrected version of pamphlet

Free format text: PAGES 1/14-14/14, DRAWINGS, REPLACED BY NEW PAGES BEARING THE SAME NUMBER; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 97542722

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase