Annotation of doc/homework/homework3.html, revision 1.1

1.1     ! albertel    1: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
        !             2: <html>
        !             3:   <head>
        !             4:     <title>LON-CAPA Homework System</title>
        !             5:   </head>
        !             6: 
        !             7:   <body>
        !             8:     <h1>LON-CAPA Homework System</h1>
        !             9:     
        !            10:     <h2>Tags</h2>
        !            11:     <ul>
        !            12:       <li>
        !            13: 	Output Tags
        !            14: 	
        !            15: 	<p>
        !            16: 	  This set of tags control how and when data gets sent to the
        !            17: 	  student, it also provides hints to the data's markup and
        !            18: 	  when it should be autoconverted, and when it should be
        !            19: 	  ignored. All of these tags except <tag>outtext</tag> are
        !            20: 	  valid and parsed by &parsed() inside a <tag>script</tag>.
        !            21: 	</p>
        !            22: 	<p>
        !            23: 	  Additionaly any perl style variables are replaced with the
        !            24: 	  values of the variable in the problem namespace.
        !            25: 	</p>
        !            26: 	<ul>
        !            27: 
        !            28: 	  <li>
        !            29: 	    <tag>outtext</tag> all data inside is assumed to be valid
        !            30: 	    html, the handler will attempt to autoconvert to the
        !            31: 	    output type. The only thing tags allowed inside are the
        !            32: 	    ones listed below.
        !            33: 	  </li>
        !            34: 	  <li>
        !            35: 	    <tag>target</tag> This tag specifies data that is not in
        !            36: 	    HTMl format inside an <tag>outtext</tag>. Takes a required
        !            37: 	    argument <arg>type</arg> and an optional argument
        !            38: 	    <arg>dest</arg>. <arg>type</arg> specifies a known valid
        !            39: 	    output target which is the format of the
        !            40: 	    data. <arg>dest</arg> specifies a list of possible output
        !            41: 	    targets that the data should be autoconverted for. The
        !            42: 	    <arg>type</arg> of the data is assumed to be a
        !            43: 	    <arg>dest</arg>. If the current target is not a
        !            44: 	    <arg>dest</arg> then the data is ignored.
        !            45: 	  </li>
        !            46: 	  
        !            47: 	  <li>
        !            48: 	    <tag>tex</tag> shorthand for &lt;target type=``tex''&gt;
        !            49: 	    <arg>dest</arg> is a valid argument.
        !            50: 	  </li>
        !            51: 	  
        !            52: 	  <li>
        !            53: 	    <tag>ascii</tag> shorthand for &lt;target type=``ascii''&gt;
        !            54: 	    <arg>dest</arg> is a valid argument.
        !            55: 	  </li>
        !            56: 	  
        !            57: 	  <li>
        !            58: 	    <tag>web</tag> shorthand for &lt;target type=``web''&gt;
        !            59: 	    <arg>dest</arg> is a valid argument.
        !            60: 	  </li>
        !            61: 	  
        !            62: 	  <li>
        !            63: 	    <tag>mathml</tag> shorthand for &lt;target
        !            64: 	    type=``mathml''&gt; <arg>dest</arg> is a valid argument,
        !            65: 	    mathml may be passed along unconverted in a web output
        !            66: 	    target.
        !            67: 	  </li>
        !            68: 	  
        !            69: 	</ul>
        !            70:       </li>
        !            71:     <br>
        !            72:     <li>
        !            73:       Form Elements:
        !            74:       
        !            75:       <p>
        !            76: 	This set of tags soley generate a representation of the proper
        !            77: 	form element on the output device. Need to look at what should
        !            78: 	  be provided when an exam is wanted.
        !            79:       </p>
        !            80:       <ul>
        !            81: 	<li> 
        !            82: 	  <tag>radio</tag> 
        !            83: 	  
        !            84: 	  <p>
        !            85: 	    web - provides a single button to check on and off, when
        !            86: 	    checked on all other radio buttons in the current
        !            87: 	    <tag>answergroup</tag> level will be set to off.
        !            88: 	  </p>
        !            89: 	  
        !            90: 	  <p>
        !            91: 	    tex - generates a circle before the data inside
        !            92: 	  </p>
        !            93: 	</li>
        !            94: 	<li>
        !            95: 	  <tag>list</tag>
        !            96: 	  <p>
        !            97: 	    web - provides a drop down box of all the possible options
        !            98: 	  </p>
        !            99: 	  <p>
        !           100: 	    tex - the list is displayed an students can select the
        !           101: 	    correct option
        !           102: 	  </p>
        !           103: 	</li>
        !           104: 	<li>
        !           105: 	  <tag>textline</tag>
        !           106: 	  <p>
        !           107: 	    web - a single line of reponse is provided to type into.
        !           108: 	  </p>
        !           109: 	  <p>
        !           110: 	    tex - a line is provided.
        !           111: 	  </p>
        !           112: 	</li>
        !           113: 	<li>
        !           114: 	  <tag>textarea</tag>
        !           115: 	  <p>
        !           116: 	    web - a textarea form is provided allowing multiples
        !           117: 	    lines of response
        !           118: 	  </p>
        !           119: 	  <p>
        !           120: 	    tex - a configureable number of lines is provided,
        !           121: 	    configured through the argument numlines, defaults to 10
        !           122: 	  </p>
        !           123: 	</li>
        !           124: 	<li>
        !           125: 	  <tag>check</tag>
        !           126: 	  <p>
        !           127: 	    web - either a checkbutton, or two radio buttons are provided
        !           128: 	  </p>
        !           129: 	  <p>
        !           130: 	    tex - a small box that can be checked is provided.
        !           131: 	  </p>
        !           132: 	</li>
        !           133: 	<li>
        !           134: 	  <tag>button</tag> -  Not sure this is useful
        !           135: 	</li>
        !           136:       </ul>
        !           137:     </li>
        !           138:     <li>
        !           139:       Randomiztion
        !           140:       <ul>
        !           141: 	<li>
        !           142: 	  <tag>randomlist</tag> this tag will cause the parser to
        !           143: 	  randomly select the order that it parses the next level of
        !           144: 	  tags, tags another leveldown will be done in order
        !           145: 	  though. Example:
        !           146: 	  <pre>
        !           147: <tag>randomlist</tag>
        !           148:         <tag>tag1</tag>
        !           149: 		<tag>subtag1</tag>
        !           150: 		<tag>/subtag1</tag>
        !           151: 		<tag>subtag2</tag>
        !           152: 		<tag>/subtag2</tag>
        !           153: 	<tag>/tag1</tag>
        !           154: 	<tag>tag2</tag>
        !           155: 		<tag>subtag1</tag>
        !           156: 		<tag>/subtag1</tag>
        !           157: 		<tag>subtag2</tag>
        !           158: 		<tag>/subtag2</tag>
        !           159: 	<tag>/tag2</tag>
        !           160: <tag>/randomlist</tag>
        !           161: </pre>
        !           162: 	  In this example, <tag>tag1</tag> or <tag>tag2</tag> will be
        !           163: 	  done first, but <tag>subtag1</tag> will always happen before
        !           164: 	  <tag>subtag2</tag>.
        !           165: 	</li>
        !           166: 	<li>
        !           167: 	  <tag>foil</tag>, <tag>showfoil/</tag>,
        !           168: 	  <tag>showrandomfoil/</tag> These tags combine to allow the
        !           169: 	  user greater control over the exact placement of a
        !           170: 	  randomized problem text. a <tag>foil</tag> tag defines a
        !           171: 	  section of the problem that will appear in places a
        !           172: 	  <tag>showfoil/</tag> or <tag>showrandomfoil/</tag> mark.
        !           173: 	  Internally, the parser will make a pass over an entire
        !           174: 	  answer group and count the number of <tag>foil</tag>,
        !           175: 	  <tag>showfoil/</tag>, and <tag>showrandomfoil/</tag> tags
        !           176: 	  that are used it will then make another pass and parse all
        !           177: 	  of the <tag>foil</tag> storing the results of these parses,
        !           178: 	  while parsing for each <tag>show*</tag> tag it hits it will
        !           179: 	  send to the output device a foil, the <tag>show*</tag> it
        !           180: 	  hit was a <tag>showfoil</tag> and this was the nth
        !           181: 	  <tag>show*</tag> it hit, it will display the nth foil. For
        !           182: 	  each <tag>showrandomfoil</tag> it hits it will randomly pick
        !           183: 	  from the remaining foils a foil to send to the output. If
        !           184: 	  there are more <tag>show*</tag> tags than foils, the extra
        !           185: 	  <tag>show*</tag> will have nothing sent out. If there are
        !           186: 	  more <tag>foil</tag> tags, the extras won't appear.  When
        !           187: 	  mixing <tag>showfoil</tag> and <tag>showrandomfoil</tag> the
        !           188: 	  result is undefined.
        !           189: 	</li>
        !           190:       </ul>
        !           191:     </li>
        !           192:     <li>
        !           193:       Answer Section
        !           194:       <ul>
        !           195: 	<li>
        !           196: 	  <tag>answergroup</tag> this defines a grouping of
        !           197: 	  <tag>*response</tag> that when responded to must all be
        !           198: 	  right in order for any to be right, this also allows
        !           199: 	  subgroups to exist. For example 1 of N questions that have a
        !           200: 	  1 of N hint question for a leaf in the orginal 1of N
        !           201: 	  question. The closing tag in this group uses the results
        !           202: 	  from the <tag>*response</tag>s to decide whether this
        !           203: 	  grouping was correct, and assigns a grade, and provides any
        !           204: 	  feedback.  
        !           205: 
        !           206:           <br><arg>ID</arg>, if this isn't set it will be set during
        !           207:           the publication step. It is used to assign parameters names
        !           208:           in a way that can be tracked if an instructor modifies
        !           209:           things by hand.
        !           210: 
        !           211: 	  <br><arg>name</arg> optional, if set, it will be used by the
        !           212: 	  resource assembly tool when one is modfiying parameters.
        !           213: 
        !           214: 	</li>
        !           215: 	<li>
        !           216: 	  <tag>*response</tag> further documentation will be available
        !           217: 	  in the future. Roughly these will take a set of data from
        !           218: 	  the enclosed input structures, and one or more correct
        !           219: 	  answers and return a correct of incorrect result, it may
        !           220: 	  also suggest a consumption of a try, and may provide a
        !           221: 	  reason for the incorrectness.
        !           222: 
        !           223: 	  <br>Required possible arguments:
        !           224: 	  
        !           225:           <br><arg>ID</arg>, if this isn't set it will be set during
        !           226:           the publication step. It is used to assign parameters names
        !           227:           in a way that can be tracked if an instructor modifies
        !           228:           things by hand.
        !           229: 
        !           230: 	  <br><arg>name</arg> optional, if set, it will be used by the
        !           231: 	  resource assembly tool when one is modfiying parameters.
        !           232: 	</li>
        !           233: 	<li>
        !           234: 	  <tag>param</tag> can appear inside a <tag>*response</tag>,
        !           235: 	  they provided config options for the <tag>*response</tag>
        !           236: 	  
        !           237: 	  <br><arg>type</arg> specifies the parameter name, what are
        !           238: 	  possible values depends on the <tag>*response</tag>
        !           239: 
        !           240: 	  <br><arg>value</arg> specifies the possible values for this
        !           241: 	  type, possible arguments are: "option1|option2|option3" or
        !           242: 	  "numerictype,lownum-highnum" numeric type can be either int
        !           243: 	  or float
        !           244: 
        !           245: 	  <br><arg>default</arg> specifies the default value for this
        !           246: 	  parameter if the instructor doesn't specifiy it
        !           247: 
        !           248: 	  <br><arg>ID</arg>, if this isn't set it will be set during
        !           249: 	  the publication step. It is used to assign parameters names
        !           250: 	  in a way that can be tracked if an instructor modifies
        !           251: 	  things by hand.
        !           252: 	</li>
        !           253:       </ul>
        !           254:     </li>
        !           255:     <li>
        !           256:       Problem Contruction
        !           257:       <ul>
        !           258: 	<li>
        !           259: 	  <tag>problem</tag> highest level tag, tells the parser that
        !           260: 	  this is a problem file
        !           261: 
        !           262: 	  <br><arg>name</arg> optional, if set, it will be used by the
        !           263: 	  resource assembly tool when one is modfiying parameters.
        !           264: 	</li>
        !           265: 	<li>
        !           266: 	  <tag>part</tag> a problem can consist of multiple parts,
        !           267: 	  each of these parts can be included or not included through
        !           268: 	  the construction of a page using the RAT, 
        !           269: 
        !           270:           <br><arg>ID</arg>, if this isn't set it will be set during
        !           271:           the publication step. It is used to assign parameters names
        !           272:           in a way that can be tracked if an instructor modifies
        !           273:           things by hand.
        !           274: 
        !           275: 	  <br><arg>name</arg> optional, if set, it will be used by the
        !           276: 	  resource assembly tool when one is modfiying parameters.
        !           277: 	</li>
        !           278: 	<li>
        !           279: 	  <tag>block</tag> are section of the problem that can be
        !           280: 	  conditional, and provide visual grouping clues. The optional
        !           281: 	  arg <arg>condition</arg> is set to a perl snippet that
        !           282: 	  controls whether the parser will evaluate the
        !           283: 	  <tag>block</tag> or not. Helper function will be created for
        !           284: 	  making hints and other study aids easy to contruct.
        !           285: 	</li>
        !           286: 	<li>
        !           287: 	  <tag>import</tag> causes the parse to read an additional
        !           288: 	  file in and parse it as if the entire text of file had
        !           289: 	  existed at the location of the <tag>import</tag>
        !           290: 	</li>
        !           291: 	<li>
        !           292: 	  <tag>script</tag> the enclosed body of text is parsed
        !           293: 	  directly in a safe Perl enviroment. Variables set here are
        !           294: 	  available throught the rest of the problem code, but all
        !           295: 	  actions taken persit only for the scope of the
        !           296: 	  <tag>problem</tag>. Except values which are expressly saved
        !           297: 	  and restored
        !           298: 	</li>
        !           299: 	<li>
        !           300: 	  <tag>while</tag> implements a while loop, required argument
        !           301: 	  <arg>condition</arg> is a perl scriptlet that when evaluated
        !           302: 	  results in a true or false value, on true the entirty of the
        !           303: 	  text between the whiles is parsed. The condition is tested
        !           304: 	  again, etc. If false it goes to the next node in the parse.
        !           305: 	</li>
        !           306:       </ul>
        !           307:     </li>
        !           308:     <li>
        !           309:       Libraries
        !           310:       <ul>
        !           311: 	<li>
        !           312: 	  <tag>scriptlib</tag> the enclosed name is a file that
        !           313: 	  contains definition for new tags.
        !           314: 	</li>
        !           315: 	<li>
        !           316: 	  <tag>parserlib</tag> the enclosed name is a file that
        !           317: 	  contains extensions to the parser.
        !           318: 	</li>
        !           319:       </ul>
        !           320:     </li>
        !           321:   </ul>
        !           322: 
        !           323: 
        !           324:     <h2>CAPA compatability function Calls</h2> Please refer to the
        !           325:     CAPA manual for documentation on what these functions do.
        !           326:     <ul>
        !           327:       <li> random </li>
        !           328:       <li> random_normal </li>
        !           329:       <li> random_beta </li>
        !           330:       <li> random_gamma </li>
        !           331:       <li> random_poisson </li>
        !           332:       <li> random_exponential </li>
        !           333:       <li> random_chi </li>
        !           334:       <li> random_noncentral_chi </li>
        !           335:       <li> choose </li>
        !           336:       <li> var_in_tex </li>
        !           337:       <li> capa_id </li>
        !           338:       <li> class, section, set, problem, name, student_number </li>
        !           339:       <li> due_date, open_date, answer_date </li>
        !           340:       <li> to_string </li>
        !           341:       <li> sub_string </li>
        !           342:       <li> strlen </li>
        !           343:       <li> get_seed </li>
        !           344:       <li> set_seed </li>
        !           345:       <li> init_array </li>
        !           346:       <li> array_max, array_min </li>
        !           347:       <li> array_moments </li>
        !           348:       <li> to_int </li>
        !           349:       <li> format </li>
        !           350:       <li> pick </li>
        !           351:       <li> sin, cos, tan, asin, acos, atan, atan2 </li>
        !           352:       <li> sinh, cosh, tanh, asinh, acosh, atanh </li>
        !           353:       <li> j0, j1, jn, y0, y1, yn </li>
        !           354:       <li> log, log10 </li>
        !           355:       <li> exp, pow </li>
        !           356:       <li> erf, erfc </li>
        !           357:       <li> sqrt </li>
        !           358:       <li> min, max </li>
        !           359:       <li> abs, floor, ceil, sgn, mod, remainder </li>
        !           360:       <li> factorial </li>
        !           361:       <li> roundto </li>
        !           362:       <li> eval_formula </li>
        !           363:       <li> capa_id_plus </li>
        !           364:       <li> seat_number </li>
        !           365:       <li> duration </li>
        !           366:       <li> is_open, is_due, is_answer </li>
        !           367:       <li> managermode </li>
        !           368:     </ul>
        !           369: 
        !           370:     <hr>
        !           371:     <address><a href="mailto:albertel@marvin.lite.msu.edu">Guy Albertelli</a></address>
        !           372: <!-- Created: Mon Mar 27 16:14:28 EST 2000 -->
        !           373: <!-- hhmts start -->
        !           374: Last modified: Thu Jun  1 16:06:26 EDT 2000
        !           375: <!-- hhmts end -->
        !           376:   </body>
        !           377: </html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>