Summary: Answers to frequently asked questions.
The goal of the Connexions project is to create a body of information and to organize this information in a way that will aid students in their learning process and help them see the connections among materials from their various classes. First, the information will be modularized so that teachers can create courses out of the repository of information. Second, it will offer a non-linear text for students. Students can use it on their own accord to pursue topics that they need or find interesting in an order that makes sense to them. Finally, by interweaving material from different areas into a given course, it will show and clarify the connections between different courses for the students who are using the system.
For a more complete explanation, view the Philosophy of Connexions document.
A module is a short document that contains knowledge or an explanation of some small bit of material. For the end-user, a module appears to simply be a web page that allows a user to view mathematical equations and to provide a more sophisticated way to organize the modules. Currently, you are looking at the module entitled "Frequently Asked Questions."
Part of the goal of the project is to allow students and professors to create their own paths through material. Teachers can suggest paths and students can discover their own path. By creating small pieces of knowledge that can be rearranged, teachers and students can determine the path through the material that makes the most sense to them.
A course is a collection of the modules that a teacher thinks best convey the meaning of the material along with a suggested path through the material. The teacher can create both a main path and offer alternative paths.
The roadmap is a graphical presentation of the course that is offered to a student or user. It allows them to navigate through a course, one of its alternative paths, or related material that was not included in the course by the professor.
The course composer is the tool used by the teachers to create a course. It allows them to search for relevant modules and determine the order that will be suggested to the student in the roadmap.
Send an email to cnx@rice.edu, or contact Elvena Mayo, the project coordinator, at elvena@rice.edu.
Our first server had been one of Dr. Johnson's machines and was called mntb (after the Medial Nucleus of the Trapezoidal Body). Someone decided that this should stand for Mountain Bunker, hence the domain name.
CNXML is an XML markup language used for writing Connexions Modules. The goal of creating CNXML was to have a language which dealt with the content of the material rather than the details of presentation. The current list of tags can be found in the CNXML Spec.
XML is a language for writing markup languages. HTML is an example of a markup language. XML separates presentation from content through the use of stylesheets. To find out more about XML read XML Basics.
Conveying the content of the module in the tags has two benefits, smarter searching and better presentation. Smarter searching is possible because you can tell the computer what type of information you are looking for. For example, it is easy to find modules written by a particular author since that information is clearly labeled.
It is easier to change the presentation of a module, or many modules, by simply editing the stylesheet and not the actual modules themselves. Also, it is possible to create different presentations from the same file. These might be used for different purposes (online vs. print) or to satisfy the preferences of different users.
A stylesheet is a separate document from the CNXML file. The stylesheet defines how the document is displayed. There are two stylesheet languages, XSL and CSS. CSS (Cascading Style Sheets) defines how a tag is displayed. Multiple CSS stylesheets can be overlayed in the same document (hence the name). XSL (Extensible Stylesheet Language) is a transformation and formatting language. The transformation part of XSL is known as XSLT. It allows you to transform an XML document into another document. For example, you could convert a CNXML document into an HTML document or a LaTeX document. We use XSL to transform a document and then CSS to define how the document is styled.
MathML is an XML markup language for representing the content and presentation of mathematics. MathML has two parts, presentation MathML and content MathML. Presentation MathML says how things should be displayed. For example, it will say that there is an x with a superscripted 2. However, it says nothing about whether this is the variable x squared or the variable x superscript 2. Content MathML represents the content of the mathematics without regard to how it will be displayed. For example, it would say the first derivative of the function f with respect to the variable x. However, it says nothing about how to display this.
Connexions is using content MathML for its modules. This allows people to encode the meaning of the equation without worrying about the presentation. This allows it to be displayed in multiple formats (audio and visual, for example). Also, it allows one professor to create a course written by different people and maintain notational consistency. The difference between displaying the derivative as df/dx and as f with a dot on the top is merely done by changing the stylesheet. Thus, different professors can have consistent notation throughout the modules they are using in a course.
A namespace is the identifier that gets attached to a particular XML language to distinguish its tags from tags from other languages. This means that you can use two different xml languages in the same document (and they can even have tags with the same name), without confusing everything. http://cnx.rice.edu/cnxml
When teachers put together modules written by different authors, they will want the notation to be consistent among all of the modules. If we merely coded the presentation of the math, as is done in LaTeX, then we could not solve this problem. However, content MathML allows for encoding the meaning of an equation. This can them be presented in several different ways.
The abstract only contains metadata. This allows the abstract to be easily searchable.
This allows the name to be easily searchable as well.
Nothing should be defined within a solution.
Writing a CNXML module defines how the document is displayed. There are two stylesheet language is similar to writing a web page in HTML. For more information, read The Basic CNXML, which includes some information about writing CNXML. You can also refer to the CNXML specification.
Uploading a module in the author interface will automatically cause the module to be validated. Any errors that are in the cnxml/mathml will be displayed to assist you in correcting the code. If you have questions about an error, it will be helpful to refer to the CNXML specification.