An interdisciplinary project at Rice University is developing the Connexions Markup Language (CNXML) as part of the Connexions Project. CNXML is "a lightweight XML markup language designed primarily for marking up educational content. The language is concerned with the structure and semantic content of the information and encourages separation of content and presentation. Connexions is an open-source educational technology project that enhances teaching and learning by (1) facilitating collaborative development of educational content in a broad range of disciplinary communities, (2) providing free access to distributed repositories of educational content and curricula, and (3) empowering diverse cultural communities to join in the development of knowledge. Two primary components of the Connexions system are a Content Commons repository of collaboratively developed material, and an open-source software toolset that allows users to exploit the materials in the repository for their needs. Connexions features a synergistic mix of both software and content, and our solutions involving community development, modularization, XML markup, editorial lenses, and intellectual property cater directly to the needs of the academic community. The Connexions Project is being developed in collaboation with MIT's Open Knowledge Initiative and with the Creative Commons Project. All Connexions software and tools will be open-source, available free-of-charge."
"Concept Connexions is a collaborative, community-driven approach to authoring, teaching, and learning that seeks to provide a cohesive body of high-quality educational content to anyone in the world, for free. The project involves two basic, interrelated components: (1) a Content Commons of collaboratively developed, freely-available material that can be modified for any purpose, and (2) open-source software tools to help students, instructors and authors manage the information assets in the Content Commons. Connexions provides an open, standards-based approach for sharing and advancing knowledge to benefit the global educational community."
From the Demo Tour:
"The function of the Connexions Project is to facilitate the creation of information modules. Modules are self-contained nuggets of information that cover one small part of a topic, equivalent to three or four minutes of a class lecture, or up to a page or two in a textbook. Smaller nuggets of information represent a much lower barrier to authorship than textbook writing or even course development. By breaking up a body of knowledge into these interlinkable modules, we hope to encourage customization of teaching materials by instructors, broader exploration by students, and more collaborative creation of educational content by authors.
"... because modules are stored in presentation-independent XML format, there are many other potential display styles and output methods. All the display-related information, like colors, text sizes, and even mathematical notation choices, are stored in a separate document called a style sheet... The same XML-formatted module can be used for printing, if a style sheet is written to specify printing information instead of web display information. Our current printing style sheet generates a PDF file, which is then displayed over the web and printed by the user..."
"The math in our modules uses an XML language called MathML. Plain HTML-based materials on the web have to embed small graphics files for equations. Graphic files are hard to update and hard to position, and can't be selected or scaled on the screen by the user. Also, with MathML, an instructor's notation and math display preferences can be handled by a global style sheet just like colors and font choices, rather than the math images having to be updated for each course. Best of all, MathML equations print out smoothly, instead of jagged like bitmapped images. The style sheet converts the XML into output as smooth and precise as LaTeX, which is actually involved in part of the rendering engine.
"The actual process of creating a Connexions module is text-based. Modules are written in a combination of XML languages, primarily CNXML (our own module language) and MathML (the mathematical markup language). For quick changes, modules can be edited directly online. For more significant work, they can be downloaded into a text editor or XML editor..."
The larger vision:
"... When it's up and running, Connexions will offer an online library of networked content that will allow instructors to pick and choose best-of-breed instructional materials. Experts around the world will develop and contribute modules of information specific to their own expertise. These modules -- which may take the form of individual chapters, or even smaller sections of chapters -- will act as a giant, constantly evolving library of information that can be tweaked to any given instructor's satisfaction.
"By selecting specific modules and then using Connexion's free, XML-based editing tools to modify the emphasis of a given course, instructors will be able to create custom textbooks. Students could then go to Kinko's and order a custom text incorporating the latest research, the best pedagogy -- tailored to match their professor's teaching style and the specific goals of the course at hand. Theoretically, the library will function across disciplines, and will aid teachers and students from kindergarten through graduate school. So far, more than 1000 modules now form the basis for nine electrical and computer engineering courses at Rice..." (from "Rice University's Connexions," by Ashley Craddock)
Principal references:
- Connexions Project website
- Connexions Project Overview
- Connexions Markup Language (CNXML) website
- CNXML Version 0.4
- CNXML 0.4 Language Specification
- NXML 0.4 XML DTD
- CNXML 0.4 Tutorial. Copying/distribution permitted under CC license.
- Connexions Demo Tour
- Sample Online Connexions Courses
- "Connexions: Education for a Networked World." White Paper. Rice University. 16 pages.
- See also: MIT Open Knowledge Initiative
- See also: Creative Commons Project