|
An authoring tool for building flexible on-line courses using XML
|
 |
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.
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.
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 introduction sub-module, where the main
goal of the module is stated, together with the list of the contents and of
the pre-requisites;
- the main content sub-module, which is the
real body of the course, containing the explanation of all the concepts and
procedures;
- the conclusion sub-module, which consists
in the summary of the module, i. e. a list of the fundamental concepts the
student should have acquired after studying the main content;
- the example sub-module, which is a collection
of examples that help the student understand the concepts better;
- the exercise sub-module, which contains a
collection of exercises with their solutions so that the student can check
the knowledge of the presented concepts;
- the test sub-module, which provides self-evaluation
under the form of a test with automatic feedback; it consists of a set of
questions with predefined answers, and the result obtained by the student
influences the presentation of the subsequent modules.
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.
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.
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:
- 1. the multimedia switch determines whether
or not the audio and video contents is to be shown, according to the speed
of the connection;
- 2. the test switch represents the stage of fruition
of the module (first time view, preliminary test passed, or self-evaluation
test passed);
- 3. the introduction switch determines whether
or not to show the introduction sub-module;
- 4. the content switch determines whether or
not to show the main content sub-module;
- 5. the conclusion switch determines whether
or not to show the conclusion sub-module;
- 6. the examples switch determines whether or
not to show the example sub-module;
According to the values of these switches, the XSL file generates
HTML code out of the XML document.
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.
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. |