<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_plain.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" id="m9001">

  <name>Frequently Asked Questions</name>
  <metadata>
  <md:version>2.14</md:version>
  <md:created>2001/01/19</md:created>
  <md:revised>2005/08/09 14:03:45.512 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="selc">
      <md:firstname>Sarah</md:firstname>
      
      <md:surname>Coppin</md:surname>
      <md:email>coppin@alumni.rice.edu</md:email>
    </md:author>
      <md:author id="rars">
      <md:firstname>Ricardo</md:firstname>
      <md:othername>Anthony</md:othername>
      <md:surname>Radaelli-Sanchez</md:surname>
      <md:email>ricky@alumni.rice.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="selc">
      <md:firstname>Sarah</md:firstname>
      
      <md:surname>Coppin</md:surname>
      <md:email>coppin@alumni.rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="rars">
      <md:firstname>Ricardo</md:firstname>
      <md:othername>Anthony</md:othername>
      <md:surname>Radaelli-Sanchez</md:surname>
      <md:email>ricky@alumni.rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="jenn">
      <md:firstname>Jenn</md:firstname>
      <md:othername>A.</md:othername>
      <md:surname>Drummond</md:surname>
      <md:email>jenn@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="mizar">
      <md:firstname>Christine</md:firstname>
      
      <md:surname>Donica</md:surname>
      <md:email>mizar@alumni.rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="brentmh">
      <md:firstname>Brent</md:firstname>
      <md:othername>Michael</md:othername>
      <md:surname>Hendricks</md:surname>
      <md:email>brentmh@rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>cnxml</md:keyword>
    <md:keyword>composer course</md:keyword>
    <md:keyword>connexions</md:keyword>
    <md:keyword>course</md:keyword>
    <md:keyword>FAQ</md:keyword>
    <md:keyword>mathml</md:keyword>
    <md:keyword>module</md:keyword>
    <md:keyword>question asked frequently</md:keyword>
    <md:keyword>roadmap</md:keyword>
    <md:keyword>stylesheet</md:keyword>
    <md:keyword>xml</md:keyword>
  </md:keywordlist>

  <md:abstract>Answers to frequently asked questions.</md:abstract>
</metadata>


<content>
  <section id="sec1">
    <name>The Connexions Project</name>
    <section id="faq11">
      <name>What is the Connexions project?</name>
      <para id="par0">
	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.</para>
      <para id="par0a">
	For a more complete explanation, view the <cnxn document="m9009" strength="8">Philosophy of Connexions</cnxn> document.
      </para>
    </section>

    <section id="faq12">
      <name>What is a module?</name>
      <para id="par1">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." </para>
    </section>

    <section id="faq13">
      <name>Why modules?</name>
      <para id="par2">
	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.  
      </para>
    </section>
      
    <section id="faq6">
      <name>What is a course?</name>
      <para id="par3">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.
      </para>
    </section>
  
    <section id="faq7">
      <name>What is a roadmap?</name>
      <para id="par4">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.
      </para>
    </section>
    
    <section id="faq8">
      <name>What is the course composer?</name>
      <para id="par5">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.
      </para>
    </section>
    
    <section id="faq10">
      <name>How do I get involved in this project?</name>
      <para id="par5a">
	Send an email to cnx@rice.edu, or contact Elvena Mayo, the project coordinator, at elvena@rice.edu.
      </para>
    </section>
    
    <section id="faqmntb">
      <name>Why is the internal website at mountainbunker.org?</name>
      <para id="parmntb">
	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.
      </para>
    </section>
  </section>
  

  <section id="sec2">
    <name>The CNXML Language</name>
    <section id="faq1">
      <name>What is CNXML?</name>
      <para id="par6">
	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 <link src="http://cnx.rice.edu/cnxml/0.3/spec/">CNXML Spec</link>.  
      </para>
    </section>
  
    <section id="faq3">
      <name>What is XML?</name>
      <para id="par7">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 <cnxn document="m9002" strength="5">
        XML Basics</cnxn>.  
      </para>
    </section>
    
    <section id="faq2">
      <name>Why CNXML?</name>
      <para id="par8">
	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.
      </para>
      <para id="par9">
	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.
      </para>
    </section>
    
    <section id="faq14">
      <name>What is a stylesheet?</name>
      <para id="par10">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 (<link src="http://www.w3.org/Style/CSS">Cascading Style
      Sheets</link>) defines how a tag is displayed.  Multiple CSS
      stylesheets can be overlayed in the same document (hence the
      name).  XSL (<link src="http://www.w3.org/Style/XSL">Extensible
      Stylesheet Language</link>) 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.
      </para>
    </section>

    <section id="faq4">
      <name>What is MathML?</name> 
      <para id="par11"> <link src="http://www.w3.org/TR/MathML2/">MathML</link> 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.
      </para>
      <para id="par12">
	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.
      </para>
    </section>

    <section id="namespace">
      <name>What is the CNXML namespace ?</name> 
      <para id="par19">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. <link src="http://cnx.rice.edu/cnxml">http://cnx.rice.edu/cnxml</link></para>
    </section>

    <section id="faqnotcon">
      <name>How does Connexions maintain notational consistency
        between modules written by multiple authors?</name>
      <para id="par13">
	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.
      </para>
    </section>
    
    <section id="faq15">
      <name>Why can the abstract not contain any links or
       cnxns?</name> 
      <para id="par16">The abstract only contains
        metadata. This allows the abstract to be easily searchable.
      </para>
    </section>
    
    <section id="faq16">
      <name>Why does the name only contain PCDATA?</name>
      <para id="par17">This allows the name to be easily searchable as well. 
      </para>
    </section>
    
    <section id="faq17">
      <name>Why can there not be a definition in a solution?</name>
      <para id="par18">Nothing should be defined within a solution. 
      </para>
    </section>
    
    <section id="faq9">
      <name>How do I write a module in CNXML?</name>
      <para id="par14"> 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 <cnxn document="m9000" strength="5">The Basic CNXML</cnxn>, which includes some
	information about writing CNXML.  You can also refer to the
	<link src="http://cnx.rice.edu/cnxml/0.4/spec/">CNXML
	specification</link>.
      </para>
    </section>

    <section id="faqvalid">
      <name>How do I make sure that the code I have written
    conforms to the various specifications?</name>
      <para id="par15"> 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.
	<!-- (removed because the link is outdated) Go to <link
	src='http://cnx.rice.edu/cgi-bin/validate.cgi'>http://cnx.rice.edu/cgi-bin/validate.cgi</link>.  This will allow you to browse for your CNXML file and validate it
	for proper CNXML.
      </para>
      <para id='par15b'> Running the validator will compare
      your document to the DTD (Document Type Definition) that defines
      the structure of CNXML and MathML.  The validator will return to
      you <codeline>FILE.cnxml successfully validated</codeline> if
      you've written valid CNXML.  Otherwise you will get some helpful
      error messages that point you to the line in which the error
      occurred and a semi-helpful description of the problem. --> If you
      have questions about an error, it will be helpful to refer to
      the <link src="http://cnx.rice.edu/cnxml/0.4/spec/">CNXML
      specification</link>.
      </para>
    </section>
  </section>
</content>
</document>
