COMPUTER ASSISTED LEARNING SYSTEM

Abstract: The system is loaded with a database of developmental networks and associated activity modules. The user selects a node in a developmental network and an associated activity module is activated which gives the student a multimedia presentation of some area of learning. The student's responses are evaluated and the corresponding node is marked as passed or failed accordingly. The nodes in a network are connected by links between nodes for a skill and nodes for easier skills that a student should have, it is expected, if the student has that skill. The student's choice of activity if restricted according to which nodes in a network have been failed. Interfaces for allowing the user to make a selection among the available nodes are also disclosed.

Description: COMPUTER ASSISTED LEARNING SYSTEM The present invention relates to computer assisted learning systems in general whether the learner is an adult, a child or otherwise, which may include the case where the learner is a heuristic computer system. Some computer assisted learning systems structure the activities that a user may engage in according to their difficulty, and the activities are presented to the user, the learner, in that order. In some systems the user may have an entirely free choice of which activity to attempt next. Either way the user may suffer frustration or boredom because he or she will choose activities at random, or be presented activities, which are too easy or too hard and hence which are of no benefit to the user. It is an object of the invention to provide a system that to some extent guides the user to appropriate activities. Preferably some choice is left to the user which emphasises and exercises responsibility and helps to maintain his or her interest . In a preferred embodiment the system allows the separation of the user interface and the educational content, which facilitates the development educational aspects of a system, lets the user configure the interface to suit him or herself, and allows the same material to be used across a wide range of age and (dis) ability . The invention makes use of what are termed herein as developmental networks which encode information as to the relative difficulty of the various skills that a user is to attain. As will be described below the skills are not simply arranged into a linear order. According to the present invention there is provided a computer assisted learning apparatus for operating upon a database comprising at least one developmental network, the network having a plurality of nodes, each representing a developmental skill or an inference concerning such a skill, and links between nodes, each link being between a node for a first skill and a node for a second easier skill, the database further comprising interactive activity modules associated with the nodes, the apparatus comprising means for allowing an interactive activity module defined in the database to be selected, means for presenting a selected activity module defined in the database to the user whether visually, audibly or otherwise, means for allowing the user to interact with an activity so presented, means for recording at least some of the user' s actions during or responses to the presented activity, and means for evaluating at least some of those recorded actions or responses to decide, or provide an inference as to, whether the user has attained a skill associated with a node, and access prevention means operative in respect of at least a particular node of a network at least for some of the time, for preventing the user from accessing an activity module associated with that particular node according to some criterion based, at least in part, on the results of the said evaluation for at least one activity module associated with at least one other node of the said network. Further the present invention also provides a computer assisted learning program for operating upon a database comprising at least one developmental network, the network having a plurality of nodes, each representing a developmental skill or an inference concerning such a skill, and links between nodes, each link being between a node for a first skill and a node for a second easier skill, the database further comprising interactive activity modules associated with the nodes, the program comprising means for allowing an interactive activity module defined in the database to be selected, means for presenting a selected activity module defined in the database to the user whether visuall , audibly or otherwise, means for allowing the user to interact with an activity so presented, means for recording at least some of the user' s actions during or responses to the presented activity, and means for evaluating at least some of those recorded actions or responses to decide, or provide an inference as to, whether the user has attained a skill associated with a node, and access prevention means operative in respect of at least a particular node of a network at least for some of the time, for preventing the user from accessing an activity module associated with that particular node according to some criterion based, at least in part, on the results of the said evaluation for at least one activity module associated with at least one node of the said network. The said criterion may be based, at least part, on the results of the said evaluation for at least one activity module associated with at least one node fcr an easier skill connected to the particular node either by a single said link or by more than one of said links, each of those links being in the direction of a harder skill to an easier skill. The means for presenting an activity module may be capable of passing to an activity module arguments associated with a particular one of a plurality of nodes associated with that activity module, those arguments defining cr adding to a definition of the skill represented by the node. The apparatus may comprise means for presenting an activity module for one or more items in an electronic encyclopaedia. The apparatus may comprise means for allowing a user to record an audio track of their own voice, for storing that track in association with a node and for allowing the user to replay that track. The means for recording responses may include an on screen keyboard. The means for evaluating the recorded responses or actions may comprise a means for marking the recorded responses and for providing corresponding marks . The evaluating means may comprise means for reducing the marks provided by the means for marking to one or more statistics . The evaluating means and/or the access preventing means may produce or maintain at least one flag or value indicating whether the skill represented by a node has oeen attained by a user and/cr whether the node is accessible to the user. The said at least one flag or value may indicate, from time to time, the following conditions: that the user has not attempted an activity module associated with the node, that the user has attempted an activity module associated with the node but has not attained the skill that the node represents, and that the user has attained the skill that the node represents. The said at least one flag or value may indicate, from time to time, the following condition: that the node is to be accessible to the user despite the user having attempted an activity module associated with the node but has not attained the skill that the node represents. The said at least one flag or value may indicate, from time to time, the following condition: that the node is to be accessible to the user irrespective of whether the user has attempted an associated activity module or has attained the skill that the node represents . The said access prevention means may be arranged to prevent access to nodes for which the user has attempted an associated activity module but has not attained the skill that the node represents. The said access prevention means may allow, after a period, access to a node for which an associated activity module has been attempted but for which the skill that the node represents has not been attained. The said means for preventing access to nodes may allow access to a node for which the user has attempted an associated activity module but has not attained the skill that the node represents once the user has subsequently attained the skill for an easier node that is connected to that node via a certain number of links, each in the direction of a node for a harder skill to one for an easier skill. That certain number of links may be one. Alternatively the said period may be a predetermined period of time. The said access prevention means may be arranged not to prevent access to a node merely for the reason that the user has attempted an activity module associated with that node but has not attained the skill that that node represents. The said means for preventing access may always allow access to a root node, a root node being a node having no nodes for easier skills linked to it. The means for preventing access may be arranged not to prevent access to a node elected by a user to be accessible. The said criterion may be based on on which of the routes from a particular node to a root node has a node for which the user has attempted an easier skill but has not attained that skill, the links making up said routes always being in the direction of a harder skill to an easier skill. The access prevention means may be arranged to prevent access to an activity module associated with a node if on the only such route or any one of such routes there is such a said node . The access prevention means may be arranged to prevent access to an activity module associated with a node if on the only such route or on all of such routes there is such a said node . The access prevention means may be arranged to prevent access based on fuzzy or inferential logic criteria. That is to say the evaluation of the user's actions during or responses to an activity module may be more complex than simply saying the user has passed or failed a node. The apparatus may comprise a search engine for allowing a user to enter one or more keywords and for returning a list of activity modules that are associated with the keywords and that are not prohibited to the user by the preventing means. The apparatus may comprise means for presenting the activity modules allowed to a user by the preventing means into a hierarchical system of menus for presentation to the user. At least some of the items on at least one of the said menus may be presented graphically. The apparatus may comprise means for displaying a graphic having a layout corresponding to the interconnection of the network and may allow the user to select among the activity modules associated with that network that are allowed to the user by the access prevention means. The means for displaying a graphic may hide portions of the graphic representing nodes inaccessible to the user. The apparatus may comprise means for presenting a list of activity modules accessible to the user with the activity modules for nodes in the same network as the or a node associated with the last activity module attempted by the user being presented first. The apparatus may be arranged to allow the user to select from among encyclopaedia entries allowed to the user by the preventing means . The system may, however, be arranged to choose activities for the user from those accessible to the user. Preferably the system is arranged to present the available activities in turn cycling between them. The apparatus may be operable with an activity module for which the evaluation means operates to decide whether the user has attained the skills of at least two different nodes. Those two said nodes may be in the same or different networks . The apparatus may be arranged to allow navigation between related networks, the representation of said networks including links for that purpose . The apparatus may be arranged to place restrictions on the user' s navigation between networks based on the results of the said evaluation for nodes of those networks. The apparatus may be arranged to guide the user, when moving between one network and another linked to it, to a particular node in said latter network, the identity of that node being recorded in the representation of said networks . The apparatus may be for operating on a network defined by a set of developmental criteria and whose representation records those criteria or the degree of difficulty of individual nodes of the network with respect to those criteria, and the apparatus may comprise selection means for selecting from the nodes in a network allowed to a user by the access prevention means, one or more nodes having a selected degree or degrees of difficulty with respect to the developmental criteria. The said selected degree or degrees of difficulty with respect to a particular developmental criterion may be a certain degree of difficulty and all possible greater degrees of difficulty with respect to that developmental criterion. The said selection means may be arranged to offer the user a choice among a group of nodes selected by the selection means only once the size of that group is below a certain size. If the said group of nodes is above the said certain size the selection means may be arranged to adjust, or allow the user to adjust, the degrees of difficulty used to make the said selection of nodes. According tc the present invention there is also provided apparatus for generating from a set of developmental criteria a network for use with computer assisted learning apparatus. An embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings, of which: FIGURE 1 is an example of a developmental network used in the present invention. FIGURE 2 is a representation of a node of a developmental network and an associated activity module in an embodiment of the invention. FIGURE 3 is an exemplary network illustrating the operation of the accessibility module of the present invention . FIGURE 4 is an example of a graphic interface for allowing a user to select a node in a develcomental network. On using a system according to the present invention, loaded with an appropriate database, the user of tr.e system, a student, is allowed to choose for him or herself a learning activity to perform. That choice is, however, restricted by the system in a manner described below according to the student's past performance as measured by tr.e system. Figure 1 shows an example of what is termed r.erein as a developmental network 1. This example is for basic numeracy skills. Each node 2 of a developmental network represents a skill to be acquired by the student. In this example, each skill is simple addition, subtraction, multiplication or division. The skills are linked by arrows 3 that represent what are termed herein as developmental implications. These developmental implications encode the expectation that if a student has attained a skill at the head end 4 of the arrow then he or she will already have attained the skill at the tail end 5. The reason why the term implication is chosen is illustrated by the following. In a network omprising nodes A, B, C and D it is expected that if a stuαent has attained either skill B or C then he or she will have attained the easier skill A. It is also expected in this example that if her or she has attained skill D then he or he will have attained easier skill B and/or easier skill C. With those implications it is also expected that if he or she has attained skill D then he or she will also have attained skill A, but those implications do not lead to any expectation between skills B and C. The directions of the arrows are the directions in which a student would be expected to progress and so are the reverse of the directions of the "implications" described above. The system of the present invention may work either with manually predefined networks or with networks that are generated automatically, either beforehand or as necessary during the operation of the system, from sets of what are termed herein as developmental criteria as will be explained below. Figure 2 represents node and activity modules, or objects (in the terminology of object oriented programming), within an embodiment of the system of the present invention. Each node object represents a node 2 in a developmental network such as exemplified by Figure 1 and records a brief description β of the skill to be acquired and references 3 to related nodes, which references encode the information represented by the arrows 3 in Figure 1. Each node 2 also records references 8 to one or more activity modules. Those may also include references 9 to activity modules representing entries in an encyclopaedia. The referenced encyclopaedia entries when activated in general present the user with some educational material relevant to the node' s skill more in the form of raw information than the other activity modules like a traditional encyclopaedia. The activity modules including encyclopaedia entries may have the user perform some task, the responses to which are monitored and are used by the apparatus of the invention to provide feed back to limit the user' s choice of which nodes and hence which activity modules and encyclopaedia entries he or she may visit. There need not be an individual activity module for each node. A module may be shared by several nodes each passing different arguments to it and for that purpose the arguments may be stored in the node 2 associated with the encyclopaedia or activity module reference. In the example of Figure 1 a single activity module could be shared by all of the nodes for addition with the arguments stored being the integers to be added. A single activity module for the encyclopaedia may be provided with the node storing the headword for a particular entry and the activity module being arranged to look up the material under that headword in an encyclopaedia database. An activity module may not necessarily subject the user to a monitored task but unless that occurs visiting a module will not provide or add to the said limitation on which activity modules he or she may visit . As mentioned above, the system guides a stuαent to select a particular learning activity and in use the system is provided for that purpose with a database cf activity objects or modules. Once activated an activity object 7 gives multimedia presentations 10 to the student. Each presentation may include textual, graphical, video and audio information to facilitate the student's acquiring a skill. Each task for the student is characterised as having an input and an output, the input being the information necessary to solve the task and the output being the required response. For example an activity module related to the easiest node of the exemplary developmental network of Figure 1 may present the input and output together in the expression "One and One makes two" . This presentation is either by cn-line speech synthesis or by an assembling a corresponding set of sound files, sampled recording of natural speech. Whether much or little information is presented to the user, the presentation enters a test phase during which the user's responses 13 are recorded. Once the user has gone beyong a given point, there is no way of either exiting the system or trying anything else without going through this test phase. In the test phase only the input is given, either reworked as a question "What does one and one make?" or as an incompleted sentence, "one and one makes ..." . The system is preferably arranged to allow the user to decide when the test phase is entered. Until that point the system may be arranged to loop presenting a variety of activities and games . Reflecting what are obviously wide differences in educational attainment, the balance between presentations with graphical objects and with arbitrary symbols whether letters or numerals, is one between networks. If a user fails to complete a task or activity with numerals he or she may be given the option of attempting the same task with objects. The user who fails to add one and one presented as spoken numerals can be given a related, but simpler, task involving the same numbers of multimedia objects, such as apples and a bag to count them into or spoken words subject to grouping transformation and so on. By the same token if the user can succeed at a given task carried out with objects he or she may elect to attempt a similar task with written numerals. This transition from a lower to a higher ranked network is at the discretion of the user. But it is also subject to evaluation by the system and determinable by the system without the user's intervention. For the user unaware of the issues involved not to mention the terminology, the management of this transition by an abstract graphic is appropriate . Objects represented concretely are treated as being in a different lower ranked network than they are when represented by letters or numerals. Effectively this corresponds to the difference between school and nursery. Nodes defined on related sets of elements in separate networks are defined as sharing a property. Preferably an audio track 11 is played as described and the user is allowed to record his or her own track 12 with the instruction that he or she repeats the predefined track. This user track may be replayed at will by the user and may be saved for that purpose for a time when the user revisits the node. This recording of the lesson in the student's own voice is thought to be an effective aid to learning . An opportunity to perform practice tasks during which the student ' s responses are not recorded may also be given and the distinction between practice and test tasks may be hidden from the student as appropriate. Where the user is to make the responses, or indeed any other form of input to the system, in textual form, the user may use the standard keyboard or a special on-screen keyboard with either suitably restricted or suitably enhanced functionality may be provided. Suitable restrictions include the elimination of all punctuation other than the full stop. Suitable enhancements include the automatic capitalisation of all letters not preceded by another character or preceded by a full stop. The lower the user's sophistication and keyboard skills, the more likely it is that the on-screen keyboard will be preferred. The recorded responses 13 are processed through several stages of analysis. First a response marker 15 marks each unit of the user's response. A unit of response may be a single typed answer to a single question, for example "2" in response to "What is 1 plus 1?" but it may be also a set of answers or mouse clicks that the user must make to complete a response. For example, {"2", "4", "6", "8"} are the responses expected to the question "Which are the even numbers less than 10?" The response marker 15 provides a mark for each unit of response, which may be simply right or wrong but may also be a grade. For example if the response to the last example Question above were {"2", "4", "8"} that would be almost correct. For younger users a response set may have between 4 and 8 items; for older users sets may be larger. A response set may be evaluated by scanning from left to right or right to left or both and its mark may be determined by inference rules . To provide encouragement incorrect responses may cause the activity module to present the user with another opportunity to provide a correct response and that action of allowing a repeat attempt may be factored into the mark provided by the response marker 15. A unit of response may also be a set of responses to a set of prompts where the expected responses are correlated. The set of marks 16 produced by the response marker 15 is passed back to a mark analyser 17, preferably part of the node module 2. This reduces the set of marks to a set of statistics 18, for example, just a single percentage mark, derived from the set of marks as a whole. Preferably the same sort of statistic or statistics are generated for each node. Clearly if the set of marks 16 consists of only a single mark then no processing may be required. In this case it may still be necessary, however, for the mark analyser to perform some data translation. For example, the mark 16 may be simply a flag indicating a correct or incorrect response when the statistic IS is a percentage mark. In such a case "correct" may be converted to 100% and "incorrect" to 0%. The mark analyser may be constructed to convert more than one sort of mark, or set marks, into the same type of statistic or set of statistics . The last stage of response analysis is preferably to produce a set of success and/or navigation flags 19 by a success/navigation calculator 20. The function of the success/navigation calculator is to control the user's access to nodes and hence the related activity moαules which, of course, includes related encyclopaedia entries. This it does on the basis of the mark statistics 18 ana navigation rules, examples of which are described below. As an aid to this process the success and navigation calculator may keep flags indicating wnether the skill associated witn the node has been obtaineα by the user, it may keep flags indicating whether a node is to be accessible to the user, and it may keep flags indicting both of those things . The success /navigation calculator 20 deciαes, at a relevant time as αiscusseα below, whether or not tne mark statistics 18, if mαeeα the student has yet attempteα the node's associated activity module, justify the conclusion that the student has attained the node's skill. The criterion used is one appropriate to the skill. For example, n safety critical subjects and in learning a foreign language 100% correct responses may be demanded whereas m school subjects perhaps only 50% may be required (having subtracted a response rate that would be expected from random responses) . The system may be arrangeα such that a common criterion may be used for all nodes of a network and that criterion, or even each of separate criteria for each node, may be set for a particular student . An example of tne rules implemented by the success/navigation calculator 20 and of the flags kept 19 is as follows. A four state flag, or status variable, is Kept being an integer variable assigned one of four arbitrary values being for example, 0, 1, 10 and 100. 1 is the default state of the flag of a node before the user has been tested on that node's skill (or oefore the user has been tested at some other node which may affect the value of the flag, as is described below) . 0 indicates success, i.e. that the user has attained the node's skill. 10 and 100 both indicate, m general, failure, i.e., where the node's skill has been tested but was not attained. 100 is the normal value assigned for failure but 10 is assigned where it is desired to allow access to the user nevertheless. In this example 10 is assigned to failed root nodes, root nodes being ones to which there are no easier nodes connected, for example, node 21 in Figure 1. Other nodes for which failure may result in a value of 10 may also be specified by the designer of a network. The success/navigation calculator calculates an accessibility flag for a node as follows. The accessibility flag is set to "accessible" unless an easier node connected to that node, either directly or on any path to any root node, is set to 10 or 100 (i.e. > 1 in the scheme of values set out above), which occurs in general if any of those nodes have been failed. In those cases the flag is set to "barred". The accessibility flag for a node is also always set to "barred" if the success flag of that node itself is 100. The accessibility flag is not set to "barred" for nodes having a success flag value of 10 and that is irrespective of whether easier nodes have been failed (which is of course irrelevant for root nodes) . In this way the more difficult nodes beyond a failed node are made inaccessible to a user making sure that he or she does not attempt a task where failure is probable. For an ordinary failed node, i.e. one set to 100, that node itself is inaccessible and so the user is forced to try something easier . In order to allow the user to progress to a previously failed node certain success/navigation flags having the value 100 are altered to 10 on the occasion of the user passing the test of a particular easier node. Preferably that occurs for the more difficult node or nodes directly connected to a just passed node. Alternatively that may occur for those nodes within a certain plural number of nodes beyond the just passed node. This is suitable for networks having nodes of numerous finely graded levels of difficulty and speeds the student's progress through the network, but care should be taken to ensure that a student is not led to nodes for which he is missing some essential skill. Always setting a failed root node to 10 ensures that at least that node is always accessible. An administration module may be provided having a function allowing, for example, a user's teacher to set at his or her discretion the success flag of a particular failed node to the value of 10 to allow the user to attempt the failed activity module again. The 10 flag lets the system discriminate between nodes which have been truly passed and those which have been made accessible other than by the user's performance. In an alternative embodiment nodes may simply be marked as passed or failed and access to a node is denied if the node itself, or an easier linked node, directly or via other nodes, has been failed. To allow progress failed nodes are marked as passed after a period of time has elapsed. In another embodiment a failed node is not inaccessible merely by reason of it having been failed itself but will be inaccessible if an easier connected node has been failed. This allows a student to repeat a failed node until he or she attains the node's skill. In another embodiment access is initially denied to all but a root node or nodes. Access to further nodes is allowed only once a linked easier node has been passed. In still another embodiment a longer history of the success or failure may be built into the success/navigation flags kept. For example, a value may be incremented each time a node is passed and is decremented each time it is failed, the node becoming inaccessible if that value falls below a certain level. An accessible node is, for example, made accessible by automatically incrementing the value, preferably by a smaller amount, from time to time. Preferably in both the preferred and other embodiments described above a node is inaccessible, and is marked appropriately for that, even if on only one of several paths back to a root node, or nodes, there is a node that is marked as failed. Figure 3 is an exemplary network with nodes 41 to 45 marked with the values of their success /navigation flags for the scheme described above in which the flags have the value 0, 1, 10 or 100; they are also marked with a cross if they are inaccessible to the user. In this example the user has passed the root node 41 but has failed node 42 one of the two nodes 42 and 43 immediately connected to the root node failed node 41. Nodes 44 and 45 are inaccessible even though there are paths from those nodes to the root nodes 41 via node 43. In an alternative embodiment, if there are plural routes to a root node, or indeed to root nodes if there is more than one, from a particular node then that node is only inaccessible if all routes to a root node are blocked by a failed node (i.e. having a success/navigation flag of 10 or 100 in the scheme described above) . The system may be used with more than one developmental network, each represented by node objects. For example, in addition to the simple arithmetic network of Figure 1 the system may include a set of networks for literacy including networks for reading, spelling and handwriting. In general these networks will have associated with them their own activities. The system allows, however, for activities that test skills in two different networks. For example, an activity may present and test material relating both to the operation of adding two to a number and the ability to spell the word "two". Such joint presentations add to the interest of the student. The system may be set either to record the student response statistics generated in relevant nodes of the relevant networks or to record only the statistics relating to the network in which the student thinks he is working because, for example, he reached the activity by choosing to do something about arithmetic. The manner of selecting an activity is explained below) . The setting may be one related to the student set by him or her or his or her teacher or may be one specific to the activity. The system may allow for an activity to test at the same time more than skill in the same network. The system is flexible in that it may be provided with a database of networks and activities for any area of learning, and new networks and associated activities may be added at a later date. In each of the embodiments described the accessibility rules are applied by an accessibility module of tne system which traverses the networks loaded into the system examining the success/accessibility flags to determine which nodes are accessible to the student. This module makes the list of accessible nodes available to one of several interfaces described below. The system of the present invention may be configured to include any combination of these interfaces and the interface used by a student may be at his or her choice unless specified by his or her teacher in the administration module . Examples of suitable interfaces are described below. A first interface is a module providing a series of hierarchical menus . As has been mentioned above the system may be loaded with a number of networks and associated activity modules. Each of these networks also contains information about how these networks may sensibly be classified. For example, the subject of mathematics may be divided into arithmetic, geometry, calculus, vector analysis and so on. Each of these subjects may be divided into topics. For example, geometry may be divided into two-dimensional geometry, three dimensional geometry, projection geometry, topology ana so on. These topics may be furtner divided until the area of study is of a size suitable to be represented by a developmental network, which size will depend on the subject matter, the age and developmental level of the intended student and also on the network designer's discretion. For example, a network for a higher developmental level than the basic arithmetic of Figure 1 may include negative and fractional numbers . The information about the grouping is gathered by this interface module and is organised into the series of menus . On the first menu are the broad subjects such as mathematics, English, history. Selecting one of these items leads the student to the next level and so on until the entry for one network is selected. The system may then display a list of only the accessible nodes . Clicking on an item on the list for a node causes a list of its related activity modules (including encyclopaedia entries) to be displayed. Clicking on an item of that list causes its related activity module to be activated. If the node has only a single activity module associated it is activated automatically without a list of activity modules being displayed. The menus also include links to items in an electronic encyclopaedia referenced by the accessible nodes . On the higher level menus no item is displayed unless it leads to an accessible node. Alternatively the system may be arranged to select for the user an activity module from among those available to the student. This reduces the number of choice to be made and so is less bcnng. This is the preferred arrangement for the primary scnool level and for the teaching of a languauge. A second interface module is a search engine which allows the student to enter keywords which are searched for against key words supplied for the purpose at each node. The search engine returns to the student links for only those nodes that have those key words and that are accessible as determined by the accessibility module. On selecting one of those links the appropriate activity module is activated. For an encyclopaedia entry key words include at least the headword for the entry. Activity modules may be categorised by other criteria and the search engine may be arranged to allow the user to search accordingly. In one example, keyword are divided into two classes. One corresponds to keywords of bibliography and everyday life, the body, school, history, and so on. The other is a set of about thirty categories, all commonly encoded in grammar. Examples include animacy, volition, humanity, social status, reference to time, reference to spatial relations between the speaker, tne addressee and a given object. Like any other keywords they can be taken as largely independent Boolean filters . They can be represented abstractly by appropriate multimedia devices such as positions in a grid, defined by colour displayed on a palette. They can be added to each other and the standard keywords. The difference isthat one set is narrowly finite while the other is not. The availability of a narrowly finite set of keywords eachThis provides a small set of keywords and faster searching than by bibliographic keywords alone. For any given item in the lexicon, a link may be provided to any other tem. This link may have any one or more of a small set of Boolean characters. These include the property of conditionality, the fact that the arm is part of the body, the hand is part of the arm, and so on, the property of categorical relationship, the fact that a chimpanzee is a sort of ape, which is a sort of primate, and so on. The property of antimony, relating black and white, and any of the recognised lexical properties of relationship including etymological or productive derivation. A link between words may exist without any of these conditions being satisfied. Activity modules may be characterised by other criteria and the search engine may be arranged to allow the user to search accordingly. Entries may be categorised by sytactic category, noun, verb and so on, by spelling, by sound, taking account of either or both the beginning and the end of the word, by length in terms of numbers of syllables, by morphological regularity, or by frequency of use. The system is usually used for the purpose teaching a student. The keyword interface is also useful for the allowing the student to find the answer to a specific question that he or she may have. In such a use the access preventing means of the invention will still operate to limit the information available to the student to that for which he or she has the relevant skills. A third interface is a more directive suggestion module. If a activated by the student then a list of accessible modules is presented to the student. This list is, however, sorted in the following order: 1. Nodes close by in the network to the last attempted node. 2. The remaining nodes in that network. 3. Nodes of related networks, those being more closely related according to the subject hierarchy mentioned above being listed first. A fourth interface module is provides a graphical means of selecting a network. Other means such as the fifth and sixth interface modules described later may be used for selecting a node within the selected network. Using the fourth interface module a network may be selected in one of two ways. A display is provided representing a transparent lift on the outside of a building. By pressing up or down lift buttons the lift moves to a new window on the building, each window containing an illustration or text identifying a particular network, for example a network for spelling. The user activates that network simply by clicking on it with the mouse. The lift may also be operated by pressing buttons marked with the names of general subject groupings of networks. If one of those buttons is pressed the lift moves and the doors open onto a corridor having doors bearing a graphic or text identifying an individual network, which again the student may activate by clicking. For example if in the lift the student clicks the literacy button he or she may be taken to a corridor having doors for spelling, handwriting and reading. If the subject heirachy needs to be deeper a door may be arranged to lead to a further corridor having doors for individual networks or possibly smaller groupings of networks . This interface is of general applicability in that it may be loaded with windows and doors for nay combination of networks loaded into the system. This is of advantage to the user as it provides a consistent easy to use interface. This is in contrast to arranging for individual multimedia graphics for each group of subjects. In a preferred embodiment the success/navigation flags 19 (see Figure 2) are calculated immediately on completion of an activity moαule and advantageously are storeα permanently so that the student may at a later date return to the system in the same condition as he or she left it at the end of a session. The student's responses 13, the marks 16 or the mark statistics 13 or some combination of those may, however, be permanently recorded, either instead of or in addition to, the success/navigation flags 19. (The stored data may be reviewed by the student's teacher at a later date.) Recording of student's responses 13, the marks 16 or the mark statistics 13 also allows the success/navigation flags 19 to be recalculated by the success/navigation calculator 20 if the level cf success required is changed by the student's teacher as is allowed by the administration module. The teacher would make such an adjustment in the light of the experience cf his or her students progress through a network. Conceivably operation of the response marker 15 or the mark analyser 1 ~ could be changed after a student had used the system and if that is to be permitted, the system is preferably configured to store the student responses 13 or the marks 16 in order to allow recalculation of the success/navigation flags 19 once the system nas been updated. As foreshaαowed above, a developmental network may be generated automatically. The details of how this may be done will differ with the subject matter of a network but in general the process is, in a preferred embodiment, n two stages. First a list of the individual skills for which the network is to have nodes is generated and then those skills are sorted cr ranked into a network according to some rules about the relative difficulty of the skills. Such a set of rules is termed herein as the "developmental criteria" for a network. A network is comprised of noαes . A node may oe defined by the point at wnich two criteria interact. Fort example, m relation to primary arithmetic, if one criterion consists m the size of the inputs and anotner consists m the nature of the operation, the operation 1+1 instantiates the lowest logically possible interaction between these criteria. These and other criteria are defined below. As has been described above nodes have the property that αommate one or more other nodes, or are dominated by other nodes, or ooth dominate and are dominated by other nodes, i.e tney are orαered into easier and more difficult nodes. Each node may be assigned a unique identifier. A given node n is defined by its relations of dominance to other nodes withm a given network. Indirect relations of dominance are computed oy progressively searching for these relations. For the set of nodes dominated by n, let us say N', one step of this searching is for the set of nodes dominated by the members of N ' , and so on . A network reflects "developmental implications"; to the effect that if the user can do X, the user can do Y. In an absolute ana non-arbitrary way these relations are between to or more skills m an academic subject area, such as mathematics, literacy or a foreign language. These relations are common.y reflected m the spelling of worαs different levels of αifferent orthographic or phonological complexity, or, m the case of arithmetic between the steps of a taole. Performance in relation to a given task can oe taken as evidence m relation to one or more of these implicational relations . Figure 1 shows the effect of a small part of a network relating to the four arithmetical operations subject to certain restrictions, as discussed below. The implications in Figure 1 are all consistent. Each operation between two inputs represents a node, at which the user can achieve success at a particular level of development. A node indicated by an arrow head implies or dominates the node at the tail of the arrow. The length of the arrows and relative height within the network are irrelevant. There is no restriction on branchedness or the crossing of arrows. The only relation is by the head to tail arrangement of arrows. Figure 1 shows the lowermost nodes of a network defined by the interaction of implicational, or developmental, criteria concerning the operation and the size of the operands. The restrictions are: A) that the output is a positive integer (excluding computations where the output is a fraction or negative) ; and B) that the output is distinct from the larger of the inputs. This Network is designed to reflect both the extent to which division is harder than addition and the idea that 1 + 1 is the simplest operation and that 2 x 2 is the simplest multiplication. A more general set of criteria is defined below generally what is taught in Britain today as primary arithmetic. 1) Given two cases of the same operation .r.volving an integer I ana one other input, and an output j, the ranking of the two operations is directly and posιti"ely related to the value of or , whichever is the greater; the higher this value, the righer the ranking and the narder the calculation, 2) Addition ranks lower than subtraction and multiplication. Division ranks higher than suotraction and multιplιcat_on . (Nothing is specified about tne relative ranking of siotraction and multiplication _- relation to each other.) The case where either of the inputs cr the output is not a posιt_ve integer ranks higher than tre case where this condition αoes not hold and higher than the case of a given corresponding operation of division or subtraction. (Fractions and negative numbers are harder tnan whole numbers and positive numbers respectively. Ana at .east one degree of skill in relation to the appropriate non-ccrrτutative operation s implied by any ability to manipulate a fraction or negative number. ' * An operation where the cαtput is a negative nu oer or reciprocal (one divided c_ an integer) is ranked m αirect proportion to the differerce between the output ana tne integer, one. 3) The case where the output is distinct from the larger of the inputs alternatively, where a multiplicand or divisor is not 1) ranks lower than the case where this condition does not hold; operations which are trivial m cr.eir effects are more difficult tnan those which are not. 4) The involvement of place-holding in the operation ranks higher than the case where it is not involved, where the effect is proportional to the number of place-holders involved; the operation in 9 - 3 is easier than the operation in 9 + 3. A computation where 10 is either the ouput or one of the inputs is more difficult than a computation where the 10 is replaced by 9. 5) Given two instances of multiplication cr division operation both involving a common value c, differing in that one involves a base with the factors i and , while the other involves the prime k, such that k is greater than i or j , the latter operation implies the former; the 7 times table is more difficult than either the 8 times table or the 9 times table. 6) The involvement of zero as an input implies at least one operation involving integers alone. The above criteria favour simple, non-trivial operations with positive, integral outputs of the smallest size, where the representation does not involve place-holding. On the most highly favoured value of all the criteria above, only one operation is possible, namely 1+1. The inference module of the system applies in respect of all the user's test responses in relation to a given set of networks. Test responses can be grouped into sets of any size. In respect of a foreign language these may consist in a single word. Where a test response has more than a single element or keystroke, the evaluation proceeds by scanning it in both directions . It is thus determinable as correct or incorrect in any of a number of 'ways which can be ranked and analysed by appropriate rules . Errors can be categorised and flagged according to whether they are likely to involve a misunderstanding of the spelling, the grammar, and so on. In a preferred embodiment for younger users the sets are likely to be be between 4 and 8 in size. For older users this may be one, as in the case of some aspects of foreign language learning, or it may be a larger number such as 100. For any size of set, the evaluation has a statistical element, as mentioned above. In default the system knows nothing about the user. Accordingly the system may be arranged to cycle through a set of conditions under which one or more of the criteria may be reversed in favour of some selection other than the easiest. In relation to arithmetic, by one such reversal the size of the operands may be disregarded within given limits. If this is three digits the system may then offer the user a sample of additions involving three digit numbers, necessarily also reversing the criterion involving placeholding . By another such reversal, the criterion regarding place holding may be reversed so as to offer the user a set of activities differing marginally in whether place holding is involved. For any response or set of responses, by one possible extrapolation, it is assumed that if the user responds correctly to a task defined on a given basis he or she can respond correctly any such task. Taking the case where the user is given two randomly selected numbers to add, if the user does so correctly the system infers that the user can add any two numbers . The system then generates a random sequence of such tasks. If the user performs to a given predetermined standard, getting the answer right in such and such a proportion or number of cases, the system automatically resets another default, offering multiplications or subtractions with numbers within the same range. The time to complete a preliminary automatic assessment of an unknown user can be lessened by adopting the principle that the less the system knows about the user the smaller should be the amount of positive evidence necessary before a criterion is reset from a default or easier case. At any point where the user starts to fail (at least to a degree such that performance is treated as falling below a given standard) each case of failure (and each element in cases where the response is internally complex) is evaluated by all relevant criteria, namely those which refer to the task in any way. Let us suppose that the user fails to give a correct answer to the question: 'What is 97 divided by 13?' Without taking account of the nature of the error, i.e. in the simplest case, the error may be due to the operation itself, the size of the elements, to the place-holding, to the fact that the correct answer is not a single positive integer or any combination of these. By the simplest implementation single explanations of an error are considered in turn. Accordingly, by the task generation module a series of activities may be generated such that these hypotheses can be tested automatically by the system one at a time. By the first such system test one of the numbers and one other is submitted to another operation. By the second an operation of division is offered with a similar pair of numbers where the output is a positive integer, and so on. In five or so steps, the system can accomplish this part of the assessment. By applying the same principle on-goingly, by generating tasks randomly within a given set of limits which may be adjusted up or down by the user's performance , the user's current working area can be rapidly adjusted to an appropriate area within one cr more networks. This is equivalent to a position in a traditionally implemented paper-based course. But it takes account of the user in a much more detailed and accurate way. On some values on some criteria, two operations involving the same operator and the same inputs may be ranked one way on one criterion and a different way on another. By 1), the operation in 9 - 3 is more difficult than 5 - 2. By 4), this relation is reversed. The user, attempting to carry out the operation m 8 + 2, is not privy to the mind of the system designer. Ξy the same token the mere fact that the user makes an error does not mean that the task was impossible; the fact of the error is just evidence pointing in a certain direction. A failure with respect to such an operation may be conditioned by either the value factors in 1' or the representational factor in ) . Accordingly this invention is preferably equipped with a series of inference rules which carry out an on-line analysis on whatever data is available. This provides an approximate estimate of an actual level of intellectual function. The ranking of two arithmetic operations is commonly, but not always, exclusive. According to the way criteria interact there may he two inverse rankings of two operations differing by only one factor, for example 9 + 3 and 9-3. Intuitively this corresponds to human variation. In the same way, for some individuals the reversibility of mathematical operations is obvious. The subtraction in 2 - 1 is simply the inversion of 2 + 1 under the condition that the inputs are treated as non-commutative. For others this is less obvious. The reversibility is expressed by the arrow from 2 + 1 to 2 - 1 in Figure 1. Some logically possible interactions generate inconsistencies in more complex cases where the output is not a positive integer. On these criteria the fractions in 1/3, 2/3, 27/64, are ranked in this order of difficulty. But the role of the prime 7 in the numerator or the denominator, in in 1/7, 1/14, 7/8, 7/16, ~/144, may contribute differently to the ranking for different individuals. The differences between 'zig-zag' and more vertically upwards paths through a network like that in Figure 1, express the possibility of variation across individuals in what they find difficult. It should he noted that a failure with respect to a test item does not denote that the item in question is impossible for the user. Such a failure is just evidence cf the fact that it may be. The separation between networks each defined as a logically possible interaction between criteria permits a large number of different, but logically well-defined developmental paths. For different users different concepts may be more difficult and so from time to time different users will find it easier to progress through one of the networks than the other. This allows a user to find his or her path throuσn the concepts of a particular area of learning in an efficient manner. Educationally it may seem pedantic to ask whether learners should, for example, start rehearsing subtraction with single digits only when they can add pairs of digits within a certain range, or when they can add single digits with a particular degree of confidence and accuracy, and so on. But previously where educational materials were presented in strict linearity - as in a book - a decision on such points is forced. Allowing multiple networks for the same area of learning allows the possibility that there may be some variation between individuals on such points. The intention here is not to suggest that the sets of developmental criteria for basic arithmetic set out above are definitive. The definition of networks in terms of formal criteria, rather than simply defining them node by node, is intended tc allow and indeed encourage the progressive development of the invention as an educational tool. In the light of experimentation, any given implicational criterion can be amended. It may for instance, be appropriate to amend or redefine the criterion 6) above, an explicit hypothesis, in the ligr.c of experience. Further criteria may also be provided for related subject matter of grater or lesser difficulty. For example, criteria may be provided for numeracy defining exponents or logarithms. Networks of different difficulty may nevertheless share developmental criteria. For example, an easier network than that of Figure 1, is for performing arithmetic as a concrete operation, e.g. by moving groups of objects about the display. In such a network multiplication may still be considered more difficult than addition for example. Networks of different difficulty may have recorded in their representations links to each other. The interface by which a student chooses his or her next activity module may use that information to allow the user to move to a harder and easier networks than the one he or she is presently using. These links may organise the networks themselves into a network, and restrictions may be placed on the student' s movement between networks, for example, by using similar rules to those outlined for restricting access within a network as described above. For that an appropriate criterion of success may be that a certain proportion of all the nodes have been passed, or at least not failed, or that the a proportion or all of the leaf nodes (those to which no more difficult node is linked- have been passed or not failed. Further the representation of a network may also record suitable nodes at which the user could start depending whether he or she has come from a harder or an easier network. Preferably the user is directed to a root node when moving to a harder network and to a node some distance above a root node when moving to an easier network, If information is available in the system as to the developmental criteria used to define a network, a fifth interface module to be described below may be used with the system, and indeed it is the preferred interface for reasons that will become apparent. The information may be available either because it is recorded in the representation of each node how the developmental criteria come nto effect for that node, which may be arranged irrespective cf whether the network was generated automatically or was designed manually. It is also possible for the module for generating a network automatically, if indeed that is being used, to be arranged to generate the information as needed. The fifth and preferred interface module ueais primarily with the current settings of any defaults as entertained by the apparatus in relation to a particular network. The network itself my he selected by any appropriate means described above. In default, the system cycles withm an area defined by a set cf nodes, i.e. it automatically presents the user with activity modules in turn without the user having to choose his or herself. This area may be less than one defined by the set of nodes from which the user has not been debarred. Essentially this corresponds tc the notion of work of a given degree of difficulty where the difficulty fluctuates " within a finite range. Given such a set of nodes N around which the system is currently cycling, there is a set of more difficult nodes N' immediately dominating one or more members cf N, such that access is not debarred by virtue of the evidence of the user's performance. In the preferred embodiment the interface directs the user tc a member of N' selected randomly or otherwise. In this interface the user fires a small red ball which arches in a long trajectory towards a larger striped ball 35 of the sort illustrated in Figure 4 on which a black ball 33 the same size as the red ball is attached in the middle of one panel exactly on the equator. The red ball knocks the black bail off position, attaching itself in the same position. The striped ball is spinning and within a small number of rotations, each lasting less than a second, the red ball has itself become black and the process can be repeated. The position and size of the target, and the size and colour of the artillery might be varied randomly. Sucn variation would greatly enhance the interface. The black ball represents a member of N' . In response to the activity of firing the ball the system redirects the user to an activity module for one of the nodes of N' and redefines the sets n and N' accordingly. Under the condition defined above, where there is no such member for a particular user at a particular time, for instance where only one or more root nodes are available to the user the ball graphic may be unavailable. In the case of the user reaching the point where there are no higher ranked nodes other than any to which access may be prohibited by virtue of recorded failures, the apparatus may respond by not providing another red ball . The ball graphic is a single instruction by the user to the system to make his or her tasks harder in one single respect on one criterion. This may be to progress from one step of place holding to two, or from the set of positive integers to include either fractions or negative numbers, and so on. Movement in the opposite direction is brought about by the access preventing means when the user fails a node. The ball graphic is, of course just exemplary and the promotion of the user to more difficult tasks may be in response to some other user input or indeed may be performed by the system, for example, on the evidence or user performance or at intervals of time. In the preferred embodiment for all levels cf use the user does not by default control which of the accessible nodes is being selected by the ball graphic. It is possible for the user to control the attachment of the ball to the target (in particular the stripe to which it attaches) and to know the academic significance of this. This effect can be achieved by displaying (at the user's option) the academic significance of a particular stripe when the mouse cursor is over that stripe Using an appropriate tool the larger ball can be rotated one stripe at a time. It is preferred for ease of use for the system to cycle within a small set of available nodes, one of which is randomly selected tc be represented by the black ball. To give the user, particularly the very young child, some control over transition between concrete and symbolic representation, a second tool applies to the graphic of the two balls. By this tool the larger ball can be raised or enlarged in some highly visible way. In some contexts, particular m primary school, this allows the user to determine to some degree whether his or her work should be in respect of multimedia objects or written words or numbers. This raising and enlargement may be reversible. Essentially the interface is designed to maximise interest, surprise, and personal involvement, with a minimum of repetition and administration. In the current version of the system there is from one activity to another approximately four mouse clicks, each a natural response to the perceived difficulty of a task. Without any intervention by the user the promotional effect of this module is carried out automatically on the basis of an inference to the effect that the user is ready for tasks of a more difficult sort. For this purpose, two constants may be assigned to a body of work, the number of items in a continuous series of trials and the proportion correct. As soon as this criterion is reached, one randomly selected default is automatically reset, equivalent to a firing of the red ball. Through the action of the success/navigation calculator the user may find that his or her choice becomes restricted to the root node or even such that no nodes are available. A directive suggestion module is automatically activated at this point guiding the user appropriately to the next node. The direction given is more subtle than for the directive suggestion module described above as the third interface. Nodes from networks defined on at least one of the same developmental criteria as the present network are located and preferably the user is guided to nodes having a similar or easier degree of difficulty on the shared criteria. Preferably the user is first guided to nodes in a linked easier network and then to nodes in other networks in the subject area. In an embodiment for a subject area where the user's target is narrowly defined within small limits a sixth interface module displays the network as a graphic. That graphic may be of the moon. In contrast to the fifth interface module described above it does not make use of developmental criteria and so may be used in the absence of information about those. Once a particular network is selected the graphic appears directly representing the network and its nodes in a single display. When the graphic is complete there is for each node a region of the moon having a flashing spot within it. The links between nodes (i.e. those that have arrows in the representation of Figure 1) are represented by the areas for those nodes being contiguous. The root node (in the case that there is exactly one) is represented by the lowermost edge of the moon. Regions for more difficult nodes branch off with the same structure as the network. Only accessible nodes are visible, however, and it is the student's goal to complete the graphic by attaining the skills for all the nodes. Initially this interface may only show the area for the root node. More difficult but accessible nodes may be added by the user by clicking a control on the screen. A hint of an inaccessible node may be given by having the area for that node appear briefly as the mouse pointer passes over it. Clicking on an accessible node leads to the activation of the corresponding activity module. If the set cf accessible nodes is restricted because the user has failed a node then the graphic is reduced accordingly. A further aspect of activity module selection, as follows, may be included m the system. A set of activity modules may be developed along some theme, for example, a highly graphical set, or a set using a traditional text based approach. If activity modules of two or more such types are provided for the same network then the user may be allowed to choose among them each time he or she selects a node. Alternatively the user may choose using a general administration module which sort of activity he or she would like to use, with that choice being applied automatically on each subsequent node selection. Another function of the administration module may be to allow the user to specify what level of confirmation or feedback he requires for the inputs he or she makes with the keyboard or mouse . The present invention may be implemented on a general purpose computer such as a personal computer (PC) . The same basic system may be used in may areas of education from the primary school to industrial training; the system simply has to be loaded with developmental networks and associated activity modules for the subject to be taught. The basic system may also include library routines for use by the node ana activity modules . For the activity modules it may provide multimedia presentation routines, audio playback and recording facilities and routines for recording the student responses in a central store. For the node modules it may provide library routines for storing the response statistics and success/navigation flags in a central store and also for calculating the success/navigation flags from the response statistics. The system may also be implemented as an independent unit and that may be in the form of what is known generally as a console. Such a unit may accept cartridges holding at least one developmental network and associated activity modules. Such a unit may also accept cartridges for recording a particular students progress so that he or s ' r.e may carry that information form one console to another. The user of the computer assisted learning system may not be a person but an artificial learning heuristic system, for example a suitably programmed computer. The interface between such a system and the system of the present invention may be electronic for abstract skills, may be mechanical if the artificial system is for performing some mechanical task, and may be aural or visual if the artificial system is for performing some aural or visual task. While an artificial system may not suffer the problems of frustration, boredom or disappointment that the system of the present invention seeks to avoid or relieve, the use of the present system may result m the more efficient programming of an artificial learning system since time is not wasted on skills that the artificial system has no hope of performing at a particular point of its training. If an artificial system is to be so trained then it is necessary for selection among the permitted activities to be performed by a module, which may be provided as part of the present invention or as part of the artificial system, or by a human operator. The strategy for selecting the next of the permitted activities to performed may be a random one. It may be instructive to compare the efficiency with which a particular artificial system becomes educated with different strategies The system allows different users to be more or less thorough in the way they exploit the flexibility of the network. Slow learning users will need to exploit that system more thoroughly than relatively fast-learning users . The system is flexible in the sense of system development. It can be provided with a database of networks and activities for any area of learning. New networks and associated activities may be added at a later date. In an embodiment for individual use by adults the administration module may be configured to be relatively more accessible to the user than in an embodiment for a primary school classroom. In such an embodiment facilities may be provided for the creation by the user of additional networks. This in effect allows the user to become the network designer . The system seeks to learn what the user is capable of learning in relation to a particular subject area and to constantly revise its own estimate. While this estimate is always approximate, it achieves an increasingly close approximation over time. In all implementations a distinction may be drawn between research activities determined by the user and didactic activities determined by the system, as provided by the system designer. This distinction is more evident in an implementation intended for an adult or A-Ievel student, particularly where the system is applied to the learning of a foreign language. Whatever the balance between teaching and a research facility in the design of a particular implementation, the user is formally evaluated with respect to the materials provided. This evaluation entails reference to the principle of the network. Where the system is used to teach the user rather than as a facility for his or her research, activities may be either generated on-line or called up from a hard-coded data-base. These activities may be initially presented with the answer, i.e. as a rote memory task, or with no answer, i.e. as problems.

Claims: CLAIMS : 1. A computer assisted learning apparatus for operating upon a database comprising at least one developmental network, the network having a plurality of nodes, each representing a developmental skill or an inference concerning such a skill, and links between nodes, each link being between a node for a first skill and a node for a second easier skill, the database further comprising interactive activity modules associated with the nodes, the apparatus comprising means for allowing an interactive activity module defined in the database to be selected, means for presenting a selected activity module defined in the database to the user whether visually, audibly or otherwise, means for allowing the user to interact with an activity so presented, means for recording at least some of tne user' s actions during or responses to the presented activity, and means for evaluating at least some of those recorded actions or responses to decide, or provide an inference as to, whether the user has attained a skill associated with a node, and access prevention means operative in respect of at least a particular node of a network at least for some of the time, for preventing the user from accessing an activity module associated with that particular node according to some criterion based, at least in part, on the results of the said evaluation for at least one activity module associated with at least one node of the said network. 2. Apparatus as claimed in claim 1 wherein said criterion is based, at least in part, on the results of tne said evaluation for at least one activity module associated with at least one node for an easier skill connected to the particular node either by a single said link or by more than one of said links, each of those links being in the direction of a harder skill to an easier skill. 3. Apparatus according to claim 1 or claim 2 wherein the means for presenting an activity module is capable of passing to an activity module arguments associated with a particular one of a plurality of nodes associated with that activity module, those arguments defining or adding to a definition of the skill represented by the node. 4. Apparatus as claimed in any preceding claim comprising means for presenting an activity module for one or more items in an electronic encyclopaedia. 5. Apparatus as claimed in any preceding claim comprising means for allowing a user to record an audio track of their own voice, for storing that track in association with a node and for allowing the user to replay that track. 6. Apparatus as claimed in any preceding claim wherein the means for recording responses includes an on screen keyboard. 7. Apparatus as claimed in any preceding claim wherein the means for evaluating the recorded responses or actions comprises a means for marking the recorded responses and for providing corresponding marks. 8. Apparatus as claimed in claim 7 wherein the evaluating means comprises means for reducing the marks provided by the means for marking to one or more statistics . 9. Apparatus as claimed in any preceding claims wherein the evaluating means and/or the access preventing means produce or maintain at least one flag or value indicating whether the skill represented by a node has been attained by a user and/or whether the node is accessible to the user. 10. Apparatus as claimed in claim 9 wherein said at least one flag or value indicates, from time to time, tne following conditions: that the user has not attempted an activity module associated with the node, that the user has attempted an activity module associated with the node but has not attained the skill that the node represents, and that the user has attained the skill that the node represents. 11. Apparatus as claimed in claim 9 or claim 10 wherein said at least one flag or value indicates, from time to time, the following condition: that the node is to be accessible to the user despite the user having attempted an activity module associated with the node but has not attained the skill that the node represents. 12. Apparatus as claimed in claim 9 or claim 10 wherein said at least one flag or value indicates, from time to time, the following condition: that the node is to be accessible to the user irrespective of whether the user has attempted an associated activity module or has attained the skill that the node represents. 13. Apparatus as claimed in any preceding claim wherein the said access prevention means is arranged to prevent access to nodes for which the user has attempted an associated activity module but has not attained the skill that the node represents . 14. Apparatus as claimed in claim 13 wherein the said access prevention means allows, after a period, access to a node for which an associated activity module has been attempted but for which the skill that the node represents has not been attained. 15. Apparatus as claimed in claim 14 wherein the said means for preventing access to nodes allows access to a node for which the user has attempted an associated activity module but has not attained the skill that the node represents once the user has subsequently attained the skill for an easier node that is connected to that node via a certain number of links, each in the direction of a node for a harder skill to one for an easier skill. 16. Apparatus as claimed in claim 15, wherein the certain number of links is one. 17. Apparatus as claimed in claim 14, wherein said period is a predetermined period of time. 18. Apparatus as claimed in any one of claims 1 to 12 wherein said access prevention means is arranged not to prevent access to a node merely for the reason that the user has attempted an activity module associated with that node but has not attained the skill that that node represents. 19. Apparatus as claimed in any preceding claim wherein the said means for preventing access always allows access to a root node . 20. Apparatus as claimed in any preceding claim wherein the means for preventing access does not prevent access to a node elected by a user to be accessible. 21. Apparatus as claimed in any preceding claim wherein said criterion is based on on which of the routes from a particular node to a root node has a node for which the user has attempted an easier skill but has not attained that skill, the links making up said routes always being in the direction of a harder skill to an easier skill. 22. Apparatus as claimed in claim 21 wherein the access prevention means is arranged to prevent access to an activity module associated with a node if on the only such route or any one of such routes there is such a said node. 23. Apparatus as claimed in claim 21 wherein the access prevention means is arranged to prevent access to an activity module associated with a node if on the only such route or on all of such routes there is such a said node. 24. Apparatus as claimed in any preceding claim comprising a search engine for allowing a user to enter one or more keywords and for returning a list of activity modules that are associated with the keywords and that are not prohibited to the user oy the preventing means . 25. Apparatus as claimed in any preceding claim comprising means for presenting the activity modules allowed to a user by the preventing means into a hierarchical system of menus for presentation to the user. 26. Apparatus as claimed in claim 25 wherein at least some of the items on at least one of the said menus is presented graphically . 27. Apparatus as claimed in any preceding claim comprising means for displaying a graphic having a layout corresponding to the interconnection of the network and allowing the user to select among the activity modules associated with that network that are allowed to the user by the access prevention means . 28. Apparatus as claimed in claim 27 wherein the means for displaying a graphic hides portions of the graphic representing nodes inaccessible to the user. 29. Apparatus as claimed in any preceding claim comprising means for presenting a list of activity modules accessible to the user with the activity modules for nodes in the same network as the or a node associated with the last activity module attempted by the user being presented first. 30. Apparatus as claimed in any preceding claim allowing the user to select from among encyclopaedia entries allowed to the user by the preventing means . 31. Apparatus as claimed in any preceding claim operable with an activity module for which the evaluation means operates to decide whether the user has attained the skills of at least two different nodes. 32. Apparatus as claimed in claim 31 wherein the two said nodes are in the same network. 33. Apparatus as claimed in claim 31 wherein the two said nodes are in different networks. 34. Apparatus as claimed in any preceding claim arranged to allow navigation between related networks, the representation of said networks including links for that purpose. 35. Apparatus as claimed in claim 34 arranged to place restrictions on the user' s navigation between networks based on the results of the said evaluation for nodes of those networks . 36. Apparatus as claimed in claim 34 or claim 35 arranged to guide the user, when moving between one network and another linked to it, to a particular node in said latter network, the identity of that node being recorded in the representation of said networks . 37. Apparatus as claimed in any preceding claim for operating on a network defined by a set of developmental criteria and whose representation records those criteria or the degree of difficulty of individual nodes of the network with respect to those criteria, the apparatus comprising selection means for selecting from the nodes in a network allowed to a user by the access prevention means one or more nodes having a selected degree or degrees of difficulty with respect to the developmental criteria. 38. Apparatus as claimed in claim 37 wherein said selected degree or degrees of difficulty with respect to a particular developmental criterion is a certain degree of difficulty and all possible greater degrees of difficulty with respect to that developmental criterion. 39. Apparatus as claimed in claim 37 or claim 38 wherein said selection means is arranged to offer the user a choice among group of nodes selected by the selection means only once the size of that group is below a certain size. 40. Apparatus as claimed in claim 39 wherein if the said group of nodes is above the said certain size the selection means is arranged to adjust, or allow the user to adjust, the degrees of difficulty used to make the said selection of nodes . 41. Apparatus for generating from a set of developmental criteria a network for use with apparatus according to any one of the preceding claims . 42. A computer assisted learning program for operating upon a database comprising at least one developmental network, the network having a plurality of nodes, each representing a developmental skill or an inference concerning such a skill, and links between nodes, each link being between a node for a first skill and a node for a second easier skill, the database further comprising interactive activity modules associated with the nodes, the program comprising means for allowing an interactive activity module defined in the database to be selected, means for presenting a selected activity module defined in the database to the user whether visually, audibly or otherwise, means for allowing the user to interact with an activity so presented, means for recording at least some of the user' s actions during or responses to the presented activity, and means for evaluating at least some of those recorded actions or responses to decide, or provide an inference as to, whether the user has attained a skill associated with a node, and access prevention means operative in respect of at least a particular node of a network at least for some of the time, for preventing the user from accessing an activity module associated with that particular node according to some criterion based, at least in part, on the results of the said evaluation for at least one activity module associated with at least one node of the said network. 43. A computer assisted learning apparatus for operating upon a database comprising at least one developmental network, the network having a plurality of nodes each representing a developmental skill and links between nodes, each link being between a node for a first skill and a node for a second easier skill, the database further comprising interactive activity modules associated with the nodes, substantially as herein described.

Inventors: NUNES AUBREY, NUNES, AUBREY
Applicants: NUNES AUBREY, NUNES, AUBREY
Application year: 1999
Main classification: G09B7
IPC codes: G09B5, G09B7