MathML Logo


#Call for Papers

#General Information

#Registration

#Accommodations

#Travel

#Tutorials

#Presentations

#Schedule

    

Connexions: MathML and Collaborative Curriculum Development in Engineering

Brent Hendricks, Ross Reedstrom, Richard Baraniuk, Don Johnson, Bill Wilson, and Geneva Henry
Rice University


Abstract

The Connexions Project uses a collaborative, community-driven approach to content creation, organization, and dissemination. We provide a set of open source tools and an open repository for the publication and exchange of knowledge modules. These XML-based modules allow instructors to compose customized courses, providing students with new opportunities to explore the connections between different ideas and domains.


Introduction

The Connexions Project5 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, PostgreSQL19) 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 Fig. 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.


Figure 1 The Connexions System


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 MathML11 for mathematics. We have developed a lightweight document markup language called CNXML3 for storing the basic document structure, incorporating content MathML via the XML namespace mechanism16 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 Zope31, 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 Fig. 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 (Morphon15, XXE28) These are still unacceptable for handling MathML, however, where a specialized editor is required.


Figure 2 Authoring Work Flow

We have explored several avenues for producing content MathML. The text editor Emacs has an XML editing mode20 that many of our staff use, although we wouldn't recommend this for non-technical users. Many mathematics manipulation packages (Mathematica10, Maple24, MathCAD9) provide MathML export capabilities, but often the output is only available as presentation MathML. We have looked at two dedicated math-entry programs: WebEQ25 and EZMath12. 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 OpenMath17 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 j vs. i for root -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 Watt14.

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 XSLFO7 and presentation MathML. This is than fed to passivetex18, 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 TeX23 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 Fig. 3) and the set of imposed links for the current module (Right hand side of Fig. 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.


Figure 3 The Connexions Roadmap

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 group21, 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 plugin13 (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 Wiki26. 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 map2 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 Annotea1 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 XPointer27 . 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

  1. Annotea Project, World Wide Web Consortium
  2. "Assessing Science Understanding: A Human Constructivist View". Mintzes, J.J., Wandersee, J.H. & Novak, J.D. (2000) San Diego: Academic Press
  3. CNXML 0.4 Language Specification, Coppin, S., et al., 12 March. 2002
  4. Concurrent Versions System (CVS), SourceGear Corporation
  5. "Connexions: An Architecture for Web-based Educational Materials", Brent Hendricks, MS Thesis, Rice University, Jan. 2001
  6. Extensible Markup Language (XML) 1.0 (Second Edition), Bray, T.,et al., 6 Dec. 2000
  7. Extensible Stylesheet Language (XSL) Version 1.0, Adler, S. et al. 15 October 2001
  8. "Learning How to Learn". Novak, J.D. and Gowin, D. B. (1984). New York and Cambridge, UK: Cambridge University Press
  9. MathCAD, MathSoft Engineering and Education
  10. Mathematica, Wolfram Research, Inc.
  11. Mathematical Markup Language (MathML) Version 2.0, Ausbrooks, R. et al., 13 Nov. 2000
  12. Mathematics on the Web: The EzMath notation, Ragget, D. and Batsalle, Davy 27 Nov. 1997
  13. MathPlayer, Design Sciences
  14. 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
  15. Morphon XML-Editor Suite, Morphon Technologies
  16. Namespaces in XML, Bray, T. et al. 14 Jan. 1999
  17. The OpenMath Standard (Draft), The ESPRIT OpenMath Project, Numerical Algorithms Group, Ltd. Oxford, UK
  18. PassiveTeX, Rahtz, S. Feb 2002
  19. PostgreSQL Data Base Management System, The PostgreSQL Global Developement Group
  20. PSGML: A GNU Emacs mode for SGML files, Staflin, L.
  21. Putting mathematics on the Web with MathML, The W3C Math Working Group, Mar. 2002
  22. Resource Description Framework (RDF) Model and Syntax Specification, Lassila, O. and Swick, R. 22 Feb. 1999
  23. The TeXbook, Knuth, D. Addison-Wesley Publishing Co. Jun. 1986
  24. Waterloo Maple, Waterloo Maple Software
  25. WebEQ Developer's Suite, Design Science Incorporated
  26. Wiki Wiki Web, Cunningham, W.
  27. XML Pointer Language (XPointer) Version 1.0, DeRose, S. et al. 11 Sep. 2001
  28. XMLMind XML Editor (XXE), Pixware
  29. XSL Transformations (XSLT) Version 1.0, Clark, J., 16 Nov. 1999
  30. XUL Programmer's Reference Manual, The Mozilla Project
  31. Zope, Zope Corporation