In this paper, we present TANGOW, a new tool for developing Internet-based courses, which facilitates the construction of adaptive learning environments for the Web, and guides the students during their learning process by registering their behaviour and profile. Curriculum sequencing is generated dynamically, so that the same concepts may be taught in different ways, depending on studentís profile and his/her actions while interacting with the course. By changing the learning strategy, even the same student may study the same concept in different ways.
A course is described in terms of Teaching Tasks (TT) and rules . A TT is the basic unit that appears in the learning process, and may be atomic or composed. Knowledge is represented by means of TTs that need to be achieved. TTs may be theoretical, practical or a set of examples. In addition, a TT may have a list of media elements (text, images, videos, applets, sounds, animations, ...) associated. A description language which specifies the relative positions of these media elements is used to construct the HTML pages that will be presented to the students. The specific elements included in these pages will depend on information about student profile and his/her learning progress, and are selected 'on the fly'. Figure 1 shows the description of a task which consists of five different slots: the task type ("T" for a theoretical task), atomicity ("Y" for an atomic task), description (a text describing the task), the name and associated parameters of a method which is used to decide whether the task is finished ("F_TEO" and "pag_visited/tot_pag"), and a list of associated media elements (the contents of the HTML slot).
In TANGOW, a rule describes how a TT is divided into subtasks. There
may be several rules for the same TT, each of them representing a specific
way of decomposing the TT into subtasks. It may be necessary to perform
all these subtasks following a fixed order (AND sequencing), in any order
(ANY sequencing), or it may be enough to perform only some of them (OR/XOR
sequencing). In addition, a rule specifies the requirements for it to be
applicable, which may depend on information about the tasks already achieved,
the studentís profile and the learning strategy in use.
Figure 2 shows the description of a rule which consists of six different
slots: the type of task decomposition ("AND" sequencing in this case),
the left-hand-side of the rule ("Priority" task), the tasks included in
the right-hand-side of the rule ("Circumstantial Signs Theory and Exercises"),
activation condition for the rule and its associated parameters ("c-4"
method and "exer_ok from "Vertical_Signs" task), and a description of how
parameters of the task in the left-hand-side of the rule are calculated
in terms of parameters of the tasks in the right-hand-side of the rule
(the contents of the "CALC_PARAMS" slot).
The paper is organised as follows. Section 2 describes the architecture
of the TANGOW system. The guiding process performed by TANGOW during a
learning session is described in Section 3. Section 4 presents a review
of existing teaching systems and analyses how they compare with TANGOW.
Finally, in section 5, we summarize the results presented in the paper
and mention some further extensions currently being researched.
All these modules use information stored in the following databases:
If the student has accessed the system before, the Task Manager uses the information stored about the studentís previous actions related to the selected course (if any) to ask the Page Generator to provide the student with the suitable page of the course. If there is no such information available, the initial page of the course will be presented.
At every step of the learning session, the Task Manager constructs a list of achievable tasks that can be presented to the student by selecting subtasks that (1) belong to the set of subtasks in which the current task is decomposed in the dynamic tree, (2) have not been achieved yet, and (3) are actionable. A task is actionable if there exists at least a rule defining it whose activation condition is satisfied. This list will be presented to the student as a menu page. If the list of achievable tasks contains a single element, this will be directly presented. Each link in the menu page includes information about the task to be tackled and the rule which describes it. When the student clicks on a link, the Task Manager checks this information, and looks for the description of the task in the Teaching Tasks Repository. It builds the dynamic tree node associated to the task and sends relevant information to the Page Generator, which will create the next page to be presented to the student.
Figure 4 shows an example of two different lists of achievable
tasks: the one on the left has the "Vertical signs" task activated. This
task has no prerrequisites, but "Circumstantial signs" has a precondition
which makes the task actionable only if a minimum number of exercises about
"Vertical signs" have been well done (see figure 2). As the student has
not completed the "Vertical signs" task yet, the link corresponding to
"Circumstantial signs" task is not activated. The list on the right includes
the "Circumstantial signs" task link because the rule describing this task
has its prequisites satisfied. In other words, the student has done the
minimum required number of exercises related to "Vertical signs". Note
that the "Vertical Signs" link now is not active. That is because
the associated task has already been achieved. These pages correspond to
a course on driving which can be found at http://helena.ii.uam.es/html/courses.html.
In addition, every time a task is finished, the Task Manager checks its execution results (i.e. the number of exercises done, the number of exercises well done, the number of pages visited, etc.) as stored in the dynamic tree and calculates a success value for the task. The taskís execution results are then propagated up in the dynamic tree to be used in the future for student guiding purposes. Then, the Task Manager checks if the finalisation requirements of the ancestor task are satisfied. If this is the case, the student does not need to perform any other subtasks and the ancestor task ends automatically. The Task Manager goes up the dynamic tree checking the ancestors finalisation requirements until a task that has not been completed yet is found. Finally, it constructs a list of achievable tasks following the process described above. By using the dynamic tree only a subset of the existing teaching tasks has to be examined in order to construct the list of achievable tasks. This makes the curriculum sequencing process very effective.
The student may navigate between pages related to the same task that are generated 'on the fly'. In the case of practical exercises, the answer given by the student (by clicking on a link, selecting an image, or filling a questionnaire) is stored by the Task Manager, and the next exercise is presented.
If the student wishes to leave the system, the Process Manager closes the connection with the corresponding Task Manager process. Before exiting, the Task Manager asks the Page Generator to display the results achieved by the student so far. It also stores the sequence of tasks performed and the results of their execution in the Users DB. The stored results will be used to reconstruct the personal dynamic tree in future sessions. From the student point of view, the immediate effect of this reconstruction process will be that (s)he will be presented with the last page visited.
TANGOW identifies each student transaction by means of a hidden variable that is associated to a specific student session. The Process Manager assigns value to that variable, which is included in every dynamic page presented to the student. It is sent back to the system with every student request.
With respect to adaptivity, TANGOW makes use of three different mechanisms. The first one is task decomposition, which can be different depending on data about the student profile. For example, a task may be decomposed in two different ways: one decomposition may include subtasks related to theory and exercises and the other can contain an additional subtask with examples about the subject. Different criteria would be established to choose, at runtime, between both decompositions.
The second way of implementing adaptivity is by including in the rules preconditions related to other tasks achievement, so that a rule is not activated unless certain results have been achieved when executing a specific set of tasks (this case can be seen in figure 2). In this way, courses are somehow "customized", presenting different students with different tasks depending on their previous actions.
Adaptivity is also present in the process of building the HTML pages displayed to the student by using different multimedia elements depending on the student profile. At the moment, the media elements that appear in the pages are selected depending on the student language and age. Texts and sounds will be different depending on the student language. Moreover, the same concept can be explained in different ways depending on the student age by using words of different difficulty. The same applies to graphics, animations and videos, which may vary depending on student features.
These are the main ways of adapting the courses
to each student, and depend on decisions taken by the course designer when
describing the course in terms of tasks and rules. But they are not the
only ones. Teaching strategies also have an influence on the order in which
subtasks are performed. At the moment, there are two predefined strategies:
"theory presentation first" and "practical exercises first". The student
can select his/her preferred strategy at the beginning of a session. If
the "theory presentation first" strategy is selected, the student will
be presented with theoretical tasks first, and only after they have been
performed, (s)he will be able to tackle examples and practical tasks. The
reverse order will be used if the "practical exercises first" strategy
is selected. In the future, more teaching strategies will be implemented,
and it will be possible to change the active strategy during the learning
session in order to improve the guidance received by the students.
As for the process of dynamic page generation, the AHA system  can be mentioned where filters for content fragments are encoded by means of conditional sentences that are included as comments in HTML pages. The main difference with our approach is that we create the HTML pages by linking media elements, whereas in the AHA system the pages are already created and it is decided, at runtime, which portions of them are shown to the student. In other systems , pages related to teaching materials are generated by formalising the structure of the documents using SGML and by asking the designer to specify the concrete contents for this general structure. In TANGOW there is no need of defining different page structures, because each page is composed 'on the fly' by choosing from the media elements associated to the active task those that will appear on the HTML pages just before building them.
There also exist different approaches to structure course contents. In , the structure of the domain is based on concepts which are linked to documents and to other concepts through typed and weighted links. The student is guided towards appropriate documents based on information about his/her knowledge of each concept. Other formalisms such as the prerequisite graph model  partition course contents into cells, where a cell is a single small topic to be studied. Relationships between cells are established by means of a prerequisite graph which states what topics should be known before studying further. This formalism differs from ours in that cells correspond to static documents and the relationships established by the prerequisite graph are also static, whereas in TANGOW the documents associated with teaching tasks are generated dynamically and the prerequisites for a Teaching Task may vary depending on the studentís profile, his/her previous actions, and the teaching strategy in use.
Another Internet-based teaching system which is currently in the design phase is SKILL . In a way similar to the prerequisite graph model described above, in SKILL the course material is organised according to their prerrequisites. Adaptivity is implemented by taking into account the student's previous knowledge of the subject. This is done in TANGOW too but, in addition, student features such as his/her age or preferred language also determine which documents are presented to him/her. As TANGOW, SKILL stores the results of the learning session which are used in future sessions. One of the main differences between the SKILL architecture and that of other existing systems is that it incorporates an annotation facility suited for collaboration work.
A different approach is followed in the DCG system  where the concept structure of a course is represented as a road-map which is used to generate a plan for the course. The planner searches for sub-graphs that connect the concepts known by the learner with the goal-concept, and changes the plan if the student is not able to achieve a result higher than a given threshold score for a given concept. The main difference between DCG and TANGOW is that in the former, adaptivity is implemented by modifying the plan to achieve the goal-concept, while TANGOW adapts the course contents to the student's learning progress by changing the set of possible subtasks at every learning step.
Finally, it is worth mentioning one of the main problems which arise
when developing Web courses: the designers' lack of time and experience.
In the Benchmarks Project , several well-known tools for the creation
of physical Web elements, the communication and interaction among class
participants and the administration of learning environments are evaluated,
analysing their advantages and disadvantages. Multi-purpose tools are proposed
as good specific applications for developing on-line courses, taking into
account that they are designed to work together. TANGOW could well be considered
one of such tools since it can be used for developing Web courses whose
organisation is described by the course designer in terms of tasks and
rules. This makes the course organisation independent of the media elements
the course contents is made up of. We think this independece will greatly
help designers not only with the development of media materials but with
course description too.
TANGOW is written in Java and is widely accessible through Internet by using any standard Web browser. Thanks to the storage of tasks, rules and multimedia materials in databases, the cost of course maintainance is low since designers may change, add or remove course components easily. The use of databases also allows the reuse of components in different courses.
Currently we are working on the improvement of the guidance process by providing the system with the possibility of changing the active learning strategy dynamically, depending on the student's results. Furthermore, we are planning a course designer oriented interface for making the course development process easier.
In the near future, we intend to design new courses and to analyse the
effectiveness of TANGOW guidance in the students learning process by making
a real evaluation with students. TANGOW architecture is suitable for supporting
collaborative work among system users by establishing communication between
student processes.This is another research line that we are considering.
 D. Pilar da Silva, R. Van Durm, E. Duval, H. Olivè, "Concepts and documents for adaptive educational hypermedia: a model and a prototype", Proceedings of the Second Workshop on Adaptive Hypertext and Hypermedia at the Ninth ACM Conference on Hypertext and Hypermedia, Pittsburgh, USA, pp. 35-43. June 20-24, 1998. http://wwwis.win.tue.nl/ah98/Pilar/Pilar.html
 O. Nykänen, "User Modeling in WWW with Prerequisite Graph Model", Proceedings of the workshop "Adaptive Systems and User Modeling on the World Wide Web", Sixth International Conference on User Modeling, Chia Laguna, Sardinia, 2-5 June 1997. http://fit.gmd.de/UM97/Nykanen.html
 R.M. Carro, R. Moriyón, E. Pulido, P. Rodríguez, "Teaching Tasks in an Adaptive Learning Environment", 8th International Conference on Human Computer Interaction, HCI International '99, Munich, August, 1998, forthcoming.
 P. Brusilovsky, E. Schwarz, G. Weber, "A tool for Developing Adaptive Electronic Textbooks on WWW", Proceedings of WebNet'96 - World Conference of the Web Society, San Francisco, CA, AACE, pp. 64-69. October 16-19, 1996.
 P. Brusilovsky, J. Anderson, "ACT-R electronic bookshelf: An adaptive system for learning cognitive psychology on the Web", Proceedings of WebNet 98 World Conference of the WWW, Internet & Intranet, pp. 92-97, Orlando, Florida, November 7-12, 1998.
 G. Weber, M. Specht, "User modeling and adaptive navigation support in WWW-based tutoring systems", Proceedings of User Modeling '97, pp. 289-300. Italy, June, 1997.
 M. da GraÇa, J. Benedito, R. Pontin, "Tools for Authoring and Presenting Structured Teaching Material in the WWW", Proceedings of WebNet 98 World Conference of the WWW, Internet & Intranet, pp. 194-199. Orlando, Florida, November 7-12, 1998.
 G. Neumann, J. Zirvas, "SKILL: A Scalable Internet-Based Teaching and Learning System", Proceedings of WebNet 98 World Conference of the WWW, Internet & Intranet, pp. 688-693. Orlando, Florida, November 7-12, 1998.
 J. Vassileva, "DCG + WWW: Dynamic Courseware Generation on the WWW", Proceedings of AIEDí97, Kobe, Japan, August 18-22, pp. 498-505, 1997.
 J. Vassileva, "A Task-Centred Approach for User Modeling in a Hypermedia Office Documentation System", in Brusilovsky, P., Kobsa, A. and Vassileva J. (Eds.) Adaptive Hypertext and Hypermedia, Kluwer Academic Publ. Dordrecht, Chapter 8, pp. 209-247, 1998.
 A. Brown, L. Hansen, "Software
Tools for Distance Learning: The Benchmarks Project", Proceedings of
Society for Information Technology and Teacher Education SITE'98 , Washington
DC, March 10-14, 1998.