Introduction
The Connexions
Project 5 is a
community-driven collaborative knowledge creation and
dissemination project at Rice University. Many different
authors contribute small nuggets of information that we call
knowledge modules to a repository. Each module
covers a narrowly defined topic and is crosslinked to other
modules, forming a sea of knowledge. Course instructors
access this repository to construct a touring itinerary for
their classes to follow, adding in their own content as well.
Students use standard browsers to navigate through their
instructor's course as well as the modules that crosslink to
it, helping them visualize the relationships between concepts
throughout the curriculum.
A team of faculty, staff, and students has been developing and
using Connexions since 1999 to great success. Over six
hundred modules now form the basis for six undergraduate
courses at Rice and the University of Illinois, spanning the
departments of electrical and computer engineering, computer
science, and applied mathematics. Faculty members at other
institutions worldwide (including University of Michigan, Ohio
State University, Georgia Institute of Technology, Polytechnic
University, Ecole Normale Supérieure in France, Ecole
Polytechnique Fédéral de Lausanne in
Switzerland, and Stavanger College in Norway) are forming
author and instructor communities to develop thousands more
modules.
Connexions Philosophy
The two key ideas behind the Connexions approach are the
modularization of the content, and the open licensing
of both the software and the content. These provide a number
of benefits for authors, instructors and students.
Modularity reduces the barrier to entry for authorship.
Rather than committing three to five years to write a
traditional textbook, authors may write individual, focused
modules within their areas of interest, and publish them
through the repository. This drops their time commitment from
years down to perhaps only a few evenings. The open, public
nature of the repository then allows for the rapid, iterative,
collaborative improvement of their contribution, combining it
with writings by other members of the Connexions community to
generate larger bodies of work.
Once the repository has achieved a "critical mass" of modules
in a particular topic area, instructors can assemble courses
that follow their own particular didactic and pedagogical
approach, adapting the text to their course, rather than
the converse. The open
licensing of the content allows instructors to combine
existing modules with their ideas, rather than duplicate
existing work. Note that the existence of the large body of
modules allows the instructor to designate alternative
approaches to key concepts in a straightforward way, as well
as providing simple access to supplementary enrichment or
prerequisite materials.
The repository includes modules and courses that intersect
with the student's current course. Since these cross-course
and cross-curriculum linkages are directly accessible to
students, they can gain an increased understanding of the
non-linear interconnectedness of various subjects. With
traditional materials, students often do not gain this kind of
integrated knowledge until late in their undergraduate career,
or even later, in post-graduate studies or on the job.
Implementation
At the heart of the Connexions System are the modules stored
in our central repository. The repository stores the modules'
text in the Concurrent Versions System (CVS)
4, a version control software
package that provides revision history and allows for
concurrent editing. A relational database (specifically,
PostgreSQL
19)
houses the metadata associated with each module for easy
search and retrieval. Each of our three user communities
interacts with the repository via specialized tools as
depicted in
Figure 1. The
author community generates high-quality content modules and
makes them available by submitting them to the repository.
Members of the instructor community weave these modules
together into customized courses and place them in the
repository or an independent course server. Students then use
the provided course paths as they navigate the repository.
Storing Modules: Content vs. Presentation
Due to the distributed, collaborative nature of this
project, it is critical to capture the semantics of the
authors' work, rather than presentation-specific syntax.
This encourages authors to concern themselves with the
meaning and structure of their content, rather than the
notation and how it will look. Towards this end, we have
adopted the eXtensible Markup Language (XML)
6 for our material in
general, and specifically content MathML
11 for mathematics. We have
developed a lightweight document markup language called
CNXML
3 for storing
the basic document structure, incorporating content MathML
via the XML namespace mechanism
16 to mark up any mathematics present in the
module.
The use of XML has several advantages. The content may be
stored in a single source format and styled for multiple
output modalities: web, print, ebook, audio, or even future
formats not yet defined. This flexibility is key in freeing
us to devise new means of visualizing information without
being concerned with compatibility with particular browsers,
or designing to the lowest common denominator functionality
of older browsers. Adapting our content to a new
visualization capability requires developing a new
stylesheet, rather than than recoding and transforming
documents en masse.
This separation of content and style also allows for a
coherent presentation of materials from many authors,
including mathematical notation. If multiple authors were to
write modules using their own preferred mathematical
notation, instructors would be constrained to assembling
courses with internal notational inconsistencies. Such
discontinuities are very disruptive for students, causing
cognitive dissonance and dramatically slowing learning and
their attainment of educational goals. By using content
MathML and the XML Stylesheet Language for Transformations
(XSLT)
29, we allow
instructors to create courses with consistent notation
throughout, independent of the notational preferences of the
various original authors.
Authors
Connexions module authors take advantage of our web-based
collaborative editing system to create, share, and maintain
modules in the repository. This system is based on
Zope
31, a web
application server platform. Using the editing system,
authors form workgroups to collaborate on modules and
courses, sharing ideas and swapping successive versions
until they feel the content is ready to be submitted to the
repository (See
Figure 2 .)
The interface provides facilities for entering module
metadata as well as for editing the text of the module
itself. It also allows authors to list related materials to
be presented as auxiliary links (See
students for details.) The
interface also provides a download/upload feature for the
module text so those who dislike editing in a browser window
may use an external editor. Since XML is an open standard,
we need not require any particular editing software, and
authors may use the editor of their choice. With XML's wide
industry support, several editors have emerged. Many of
these are geared mainly toward tree-structured data entry,
but some do provide a fair document markup interface
(Morphon
15, XXE
28) These are still
unacceptable for handling MathML, however, where a
specialized editor is required.
We have explored several avenues for producing content
MathML. The text editor Emacs has an XML editing mode
20 that many of our staff
use, although we wouldn't recommend this for non-technical
users. Many mathematics manipulation packages
(Mathematica
10,
Maple
24, MathCAD
9) provide MathML export
capabilities, but often the output is only available as
presentation MathML. We have looked at two dedicated
math-entry programs: WebEQ
25 and EZMath
12. WebEQ's input is more geared towards
presentation, but it does attempt to generate content
MathML, interpreting the the author's intent and providing
some visual feedback when the meaning is unclear. EZMath
takes a novel approach, requiring input in a
natural-language style instead of a using a graphical
interface. Since it retains the semantic content, it has no
difficulty outputting content MathML, although it does
require the user to learn a new syntax. In addition to
improved content MathML support, we would like to see two
features in MathML editors. The first is better
extensibility, including support for
csymbol tags and OpenMath
17 definitions. The
second is better integration with other general-purpose XML
editors, perhaps as a plugin.
Instructors
An instructor's role in the Connexions system is to serve as
a guide for their students through the sea of modules. They
do this by using our
Course Composer software
to build touring itineraries or "coursepaths". Instructors
build up chapters and courses by combining modules written
by other authors with their own material. In addition,
Course Composer lets instructors provide additional links on
the modules in their course, beyond what the original
authors have specified. These "instructor-imposed" links
are course-specific, and stored without modifying the
original modules. Each imposed link belongs to an
instructor-specified category (such as "supplemental" or
"prerequisite") and can be assigned a number from one to five
indicating the strength or relatedness of the link. These
links are then presented to the students to help them
understand the relationships between materials and to
encourage individual exploration. The Course Composer
creates a course description file out of the imposed links
along with the selected course path. The repository stores
the course description file in the Resource Description
Framework (RDF)
22 format
for student access.
One potential hurdle in assembling materials from different
authors is mismatched notation. Connexions solves this
problem by utilizing content MathML. The repository stores
only semantic information, leaving notation and presentation
specifics up to the instructor. Instructors are allowed
(and encouraged) to specify both cosmetic and notational
parameters for displaying their course (eg. background
color, or the use of
jj vs.
ii for
-1
-1.) Course Composer stores these choices in the
course description file. They are then used to select an
XSLT stylesheet (and possibly a set of passed parameters) to
transform the course for display. In this way the
instructor can customize the the course to his or her taste,
achieving a consistent presentation. This is a limited
implementation of the techniques described by Naylor and
Watt
14.
In addition to electronic display on the web, instructors
may wish to provide a printed version of the material. This
can easily be done from the same source, thanks to the
separation of content from presentation. We use XSLT
stylesheets to transform the RDF course description file and
the course modules (stored in CNXML and content MathML) into
a single file consisting of XSLFO
7 and presentation MathML. This is than
fed to
passivetex 18, creating a PDF file that can be
sent to Kinko's or a university press or printshop for
printing and distribution to the students. Documents
produced this way achieve high quality mathematics layout
thanks to the TeX
23
rendering engine, and can have autogenerated tables of
contents and figures, as well as an index based on keywords
and vocabulary terms.
Students
To access courses, students use our
Roadmap
navigational software. The Roadmap queries the repository
for a list of available courses (stored as RDF) and presents
this list to the student. The student then selects his or
her course, and the roadmap downloads the corresponding
course description file. Once the file is downloaded, the
Roadmap presents the student with an outline of the course
(See the left hand side of
Figure 3) and the set of imposed links for the
current module (Right hand side of
Figure 3.) The course view
gives students a high-level view of the course materials,
allowing them to track their progress. The link view lets
them explore relationships and experience how the materials
are related. Students may also choose to gain a different
perspective by switching link views from the
instructor-imposed links to the auxiliary links provided by
the module authors. The Roadmap is currently implemented as
a browser add-on using Netscape's eXtensible User-Interface
Language (XUL)
30 and is
only available for Netscape 6 or the Mozilla browser. We
are working on a similar plugin for Microsoft's Internet
Explorer, but in the meantime the system falls back to
generating HTML webpages that achieve a similar effect using
frames.
With or without the Roadmap, when a student retrieves a
module for viewing, XSLT stylesheets transform the
content-based XML (CNXML and content MathML) into
appropriate presentation dialects (XHTML and Presentation
MathML.) The particular stylesheets used are determined by
the Connexions server, based on the student's specific
browser and the parameters specified by the course
instructor (if the student is accessing the module as part
of a course.) In this way students see the series of
modules as a stylistically coherent text using their
instructor's preferred notation. These transformations are
largely done server-side, although we are investigating the
use of client-side transformations for the future. A
notable exception to this is our client-side use of the
MathML stylesheet provided by the W3C MathML working
group
21, enabling the
same source to be used by different rendering environments.
This allows the same module to be viewed by browsers with a
wide range of functionality. We currently support Mozilla
with built-in MathML support and Internet Explorer 6 with
Design Science's MathPlayer plugin
13 (Internet Explorer
5.5 is also supported with an upgrade to to version 3 or
greater of Microsoft's MSXML parser.) In the future we hope
to support other browsers by providing a transformation to
bare-bones HTML with images for the math.
Future Directions
For future research, we are investigating novel methods of
content creation that more directly capture experts' knowledge
than traditional, linearly-structured papers (such as this
one.) One such approach to collaborative, web-based authoring
that tends to generate highly interconnected content is the
Wiki
26. We are
investigating conversion tools to enable the use of Wikis as
outlining and rough-draft tools to generate interlinked
Connexions modules. Another approach we are investigating is
the
concept map 2 8 both as
an assessment tool, and for creating courses. Instructors
could create a graphical "map" of the material and its
relationships, which would then be converted into a course
description file.
Similarly, on the client side we would like to develop a more
visually-oriented Roadmap tool, by representing modules and
links graphically. This would truly allow students to see the
relationships between concepts as they navigate the
interlinking web of modules.
Since most other document formats are not as semantically
driven as CNXML, auto-conversion from, for example, Microsoft
Word documents or PowerPoint presentations is not possible.
However, the creation of "wizards" that guide an author
through the process of adding semantic information while
converting markup is certainly possible, and is an avenue we
are interested in pursuing.
The W3C's Annotea
1
project provides a method of annotating web pages without
having to modify the source. Instead, the annotations are
stored on an annotation server using RDF and XPointer
27 . We plan to
incorporate this technology into our software as well,
allowing instructors to add their own comments onto course
modules. This could be used, for example to call attention to
important concepts or refer back to points made in class
lectures. It could also be useful for enabling students to
create personal "margin notes" while they are reading the
materials.
Widespread adoption of the Connexions system will require
expansion beyond a single, central repository. We are
investigating the technologies required to support different
levels of distributed repositories, ranging from closely
cooperating, federated repositories to independent access of
multiple repositories whose only commonality is standards
compliance and a common toolset.
As the size and richness of the content pool increases, the
need for more advanced searching and discriminating tools will
become critical. We are addressing this problem in two ways.
Our first approach incorporates the use of external metadata
stores, and advanced indexing technologies. The second
approach is perhaps more interesting from a community point of
view. We are investigating the requirements to support
third-party "lenses", which will focus a user's view of the
repository on selected content. These could serve as content
guides for instructors and authors, much in the way courses
guide students.
Conclusion
Connexions would not have been possible without the
development and maturation of XML and related technologies
such as MathML and XSLT that fulfill the promise of separation
of content and presentation. This separation, combined with a
sufficiently fine-grained modularization allows authors to
create easily-maintainable and shareable content. Publication
and exchange of this content through an open repository
enables instructors to pull together disparate components to
create customized courses with a coherent mathematical
notation. We are currently working with education assessment
professionals to determine the effectiveness of this approach
from the student perspective. Our experience to date using
Connexions has taught us that both students and faculty
appreciate the availability of high-quality materials in both
web and print formats. We expect to gain widespread adoption
of our tools and approach as we expand the content pool
and incorporate new technologies.
References
-
Annotea
Project, World Wide Web Consortium
-
"Assessing Science Understanding: A Human Constructivist
View". Mintzes, J.J., Wandersee, J.H. & Novak,
J.D. (2000) San Diego: Academic Press
-
CNXML 0.4
Language Specification, Coppin, S., et
al., 12 March. 2002
-
Concurrent Versions
System (CVS), SourceGear Corporation
-
"Connexions: An Architecture for Web-based Educational
Materials", Brent Hendricks, MS Thesis, Rice University,
Jan. 2001
-
Extensible
Markup Language (XML) 1.0 (Second Edition), Bray,
T.,et al., 6 Dec. 2000
-
Extensible
Stylesheet Language (XSL) Version 1.0, Adler,
S. et al. 15 October 2001
-
"Learning How to Learn". Novak, J.D. and Gowin, D. B. (1984). New York and Cambridge, UK: Cambridge University Press
-
MathCAD, MathSoft Engineering and Education
-
Mathematica,
Wolfram Research, Inc.
-
Mathematical
Markup Language (MathML) Version 2.0, Ausbrooks,
R. et al., 13 Nov. 2000
-
Mathematics
on the Web: The EzMath notation, Ragget, D. and
Batsalle, Davy 27 Nov. 1997
-
MathPlayer,
Design Sciences
-
Meta
Style Sheets for the Conversion of Mathematical Documents
into Multiple Forms, Naylor, B. and Stephen Watt, S.,
(2001) First International Workshop on Mathematical
Knowledge Management: MKM'2001 RISC, Hagenberg
-
Morphon
XML-Editor Suite, Morphon Technologies
-
Namespaces
in XML, Bray, T. et al. 14
Jan. 1999
-
The OpenMath Standard
(Draft), The ESPRIT OpenMath Project, Numerical
Algorithms Group, Ltd. Oxford, UK
-
PassiveTeX, Rahtz, S. Feb 2002
-
PostgreSQL Data Base
Management System, The PostgreSQL Global
Developement Group
-
PSGML: A GNU Emacs mode for SGML files, Staflin, L.
-
Putting mathematics on
the Web with MathML, The W3C Math Working Group, Mar. 2002
-
Resource
Description Framework (RDF) Model and Syntax
Specification, Lassila, O. and Swick, R. 22
Feb. 1999
-
The TeXbook, Knuth, D. Addison-Wesley Publishing Co. Jun. 1986
-
Waterloo Maple, Waterloo Maple Software
-
WebEQ Developer's Suite, Design Science Incorporated
-
Wiki Wiki
Web, Cunningham, W.
-
XML Pointer
Language (XPointer) Version 1.0, DeRose,
S. et al. 11 Sep. 2001
-
XMLMind XML
Editor (XXE), Pixware
-
XSL
Transformations (XSLT) Version 1.0, Clark, J., 16
Nov. 1999
-
XUL
Programmer's Reference Manual, The Mozilla Project
-
Zope, Zope
Corporation