An authoring tool for building flexible on-line courses using XML
Laura Farinetti
Florin Bota
Anca Rarau
Find


Abstract
The paper describes the use of XML for creating an application oriented to the design and the implementation of Internet courses, that is an authoring tool whose main characteristic is the capability of producing on-line courses with a structure and an organisation of the contents that reflects a previously defined educational methodology.
The main requirements of such an authoring tool are the ease of use (for the teacher-author, whose competencies in general do not include professional computer skills), the ease of maintenance (for the site administrator) and, most of all, the flexibility and the adaptability of the contents (for the student-user).
We believe that on-line courses should be flexible enough to adapt to a number of different user profiles, that have different entry levels in terms of already acquired knowledge, and different learning goals. The course is a collection of different, self-consistent modules, and each module is composed of many sub-modules, that follow a different approach toward the contents to be taught, and offer different presentation formats. The main idea is to offer the students different views of the same contents, according to their profile.

Keywords

Contents
  1. Introduction
  2. Content organisation
  3. The data flow
  4. The architecture of the application
  5. Conclusions
  6. Bibliography

Introduction
Most educational institutions today invest in the design and implementation of Internet learning environments, that represent potentially effective platforms for distance education. These environments can help in any of the educational process related tasks, from the definition of curricula to the collection of educational material, from the delivery of this material to the interaction among the involved actors [1] [2]. On-line courses are becoming the main tool for knowledge delivery in distance education scenarios, and the possibility of integrating face-to-face education with these environments makes their use possible also in traditional education to support students' learning.
The design of on-line courses involves different actors, that have different requirements: the teacher-author needs a tool easy to use in order to create the educational material; the student-user needs something more than a mere translation of a book in electronic format, that is some sort of guidance, a high level of interactivity and a tool for assessing the learning process; the site administrator, finally, needs an easy-to-maintain system for updating the content and the information about users.
The implementation of effective educational platforms needs to carefully take into account all of the previous requirements. The application presented in this paper is an educational-oriented authoring tool capable of producing on-line courses with a structure and organisation of the contents already defined according to a given educational methodology. The application framework allows teachers with no specific computer science skills to easily create courses that may contain different content formats: simple text and pictures, but also audio/video streams, Java applets or animations. The main characteristic of the tool is flexibility, in the sense that contents are presented to the students in different ways, depending on their previous knowledge, on their learning goals, on the kind of hardware used to access the content, and on some preferences of the user (due to special educational needs, for example). In order to acquire new knowledge, students are supposed to study, to practice new concepts, to solve problems and, very importantly, to assess their knowledge level with self-evaluation mechanisms. Besides that, the system is designed to be simple enough for the site administrator, since it maintains all the course information in one file only, and most of the processing is done on the student's computer; in this way one small server can provide content relative to a large number of courses to hundreds of students.
The developed application uses XML [3] [4] for the organisation of the contents, assuring a simple way to modify the presentation of the modules. The contents can be created either by using a simple text editor, or by using an XML editor, or by using a dedicated content-creation application at present under development. The XML standard, which uses text files to maintain database-alike content, was the key for obtaining the desired flexibility. We identified and implemented one of the possible content organisations that meet the educational requirements we described above, reported here as an example, but the framework we designed is more general, and can easily adapt to other structures.
Previous Previous Table of Contents
Content organisation
Each course is designed and implemented as a collection of modules; each module has clearly stated pre-requisites for the fruition and well defined learning objectives. The entrance and exit levels of knowledge associated to each module permit the dynamical building of the educational path according to the student profile. Each module consists of a collection of sub-modules, that follow a different approach toward the contents to be taught, offering different presentation formats:
The self-evaluation mechanism allows the student to test his or her level of knowledge and understanding of the concepts, permitting as well the dynamical building of the educational paths among the modules of the courses. Two types of tests are proposed: a preliminary test, used for determining the student's level of knowledge when he uses the course for the first time, and a final test for each module, used to determine whether or not the student has acquired the required exit level of knowledge for the module, and to choose the level of presentation of the following module. According to the results of the final test, the profile of the student is modified, and the choice of the following module is based on this profile. The main idea is that the better the student performs, the less content he needs. In an extreme situation, the student that has not acquired the desired level of knowledge could be forced to study once more the same module.
A course structure like this has two degrees of flexibility in building the educational paths: on one hand it allows the combination of different modules, and on the other the amount and the type of information presented in each module vary.
This course structure is implemented in a DTD file, which defines the course logical organisation and allows the verification of its validity.
Previous Previous Table of Contents
The data flow
The students have to use Internet Explorer or higher, which can display XML files, based on the transformation performed by a XSL stylesheet. The first Web page presented to the student requires username and password, used for identifying an existing user or for creating a new profile. The student then chooses the course he wishes to study, and the application automatically determines the educational path related to his profile, and displays the module he is supposed to study next. The XML content of that module is sent back to the student browser, containing as well a special processing instruction that identifies the XSL file that will control the display of the module on the student's computer.
The first page of the module contains the preliminary test used for assessing the student's knowledge on the specific subject. This first test is not compulsory, and the student can decide to skip it; in this case the main content sub-module is displayed, that is the most complete view of the contents. The purpose of this preliminary test is to determine whether a more specific or reduced view of the contents is suitable for the student, for example the conclusion sub-module that contains the list of the fundamental concepts he should know. If the student decides to take the test, the application automatically changes both his profile and the view of the module, choosing to display the most suitable sub-module. The questions contained in the test aim at understanding both the knowledge level of the student and the balance of his theoretical and practical skills; for example, the student could have a very good performance on theoretical questions, but at the same time he could have problems on the questions regarding the practical application of the concepts. The learning environment in this case displays the example and the exercise sub-modules, to help the student in practising his skills.
After the preliminary test, the student can start the fruition of the course; he can decide to stop at any moment, since the application maintains his profile.
After the completion of the module, the student has to take a compulsory test, which will determine whether or not he acquired the minimum level of knowledge required for going on, and that will identify the next module to be presented. In case the student does not satisfy this requirement, he is forced to go back and study the same module one more time.
Previous Previous Table of Contents
The architecture of the application
To implement the application we used CGI programs, which can generate on the fly the XML and XSL documents that are delivered to the clients. In fact we need customised XSL files for each user of the system, that contain some data from a user profile maintained on the server. In order to achieve this goal, we could make the browser either to request a different XSL file for each user, or to generate the XSL files for each student on the fly. Since maintaining for each student a separate XSL file for each module would require a large amount of disk space, we choose the second option. A small CGI program (xsl.cgi) does that, generating XSL documents based on the username, the course and the module number. It considers the student's profile for that specific module, gets the profile variables and places them in a generic XSL file.
The technology implemented by Internet Explorer requires a processing instruction inside the XML file that points to the XSL file used to display the XML document. That instruction has to pass the username, course and module number to the xsl.cgi program. This is the reason why the XML source is generated by another small CGI program, xml.cgi, whose aim simply consists in placing this processing instruction in the XML document and in sending the content of the course module previously selected by the student.
To summarise (see Figure 1), the form containing the username, the password and the module number are processed by the xml.cgi program, which generates an XML document; this file contains the processing instruction to point to xsl.cgi, and uses the username, course and module as parameters. The browser parses the XML file and executes the processing instruction.
Figure 1 . The xml.cgi program
All the tests are evaluated by a program, test.cgi (see Figure 2). According the student's level of knowledge on the specific content of the module, the program automatically updates the user profile. We used a code for the scores of the student, so that after the evaluation process the program can decide which parts are to be displayed to the student: each of the digit of the final score contains information about a specific sub-module. The test.cgi program has two different modes: one for the introductory test and another one for the self-evaluation test.
Figure 2 . The test.cgi program
The user profile contains information about the presentation of the contents, relying on a number of switches:According to the values of these switches, the XSL file generates HTML code out of the XML document.
Previous Previous Table of Contents
Conclusions
The designed application is an adaptable Web-based distance learning environment, which can meet the needs of the individual student. We used the designed framework to build a small course on object-oriented programming, at present under students' evaluation, to check the effectiveness of the educational approach and the friendliness of the tool from the student's point of view, and we are now implementing a more complex course on database systems and applications.
The Web-based feature of our prototype does not require the teacher to have knowledge of Web techniques. From the teacher's point of view our prototype is an authoring tool which allows him or her to build courses that contains texts, images, audio, video, hyperlinks. All these components are combined together based upon the DTD rules and are displayed according to XSL files, but writing DTDs and XSL documents is not a teacher's concern. Teacher's activity is composed of two steps: (1) building XML documents that represent the course - this stage implies the use of a XML editor, and (2) building score files that contain the score associated to each question. After these two steps the teacher should interact with the network administrator, who receives the XML documents and the score files and put them on the server.
Previous Previous Table of Contents
Bibliography
[1]T. Boyle, "Design for Multimedia Learning," Prentice Hall Europe, 1997.
[2]L. Farinetti, G. Malnati, M. Mezzalama, "Le nuove esigenze didattiche nella società tecnologica," in P. Terna (ed.), La formazione e il lavoro al tempo delle reti telematiche, Rosenberg & Sellier, Torino, 1997, pp.149-168.
[3]D. Megginson, "Structuring XML documents," Prentice Hall, Upper Saddle River, NJ, 1998.
[4]M. Leventhal, D. Lewis, M. Fuchs, "Designing XML Internet applications," Prentice Hall, Upper Saddle River, NJ, 1998.
Previous Previous Table of Contents