Annotation of doc/homework/homework4.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 <b><outtext></b> are
! 20: valid and parsed by &parsed() inside a <b><script></b>.
! 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: <b><outtext></b> 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: <b><target></b> This tag specifies data that is not in
! 36: HTMl format inside an <b><outtext></b>. Takes a required
! 37: argument <i>type</i> and an optional argument
! 38: <i>dest</i>. <i>type</i> specifies a known valid
! 39: output target which is the format of the
! 40: data. <i>dest</i> specifies a list of possible output
! 41: targets that the data should be autoconverted for. The
! 42: <i>type</i> of the data is assumed to be a
! 43: <i>dest</i>. If the current target is not a
! 44: <i>dest</i> then the data is ignored.
! 45: </li>
! 46:
! 47: <li>
! 48: <b><tex></b> shorthand for <target type=``tex''>
! 49: <i>dest</i> is a valid argument.
! 50: </li>
! 51:
! 52: <li>
! 53: <b><ascii></b> shorthand for <target type=``ascii''>
! 54: <i>dest</i> is a valid argument.
! 55: </li>
! 56:
! 57: <li>
! 58: <b><web></b> shorthand for <target type=``web''>
! 59: <i>dest</i> is a valid argument.
! 60: </li>
! 61:
! 62: <li>
! 63: <b><mathml></b> shorthand for <target
! 64: type=``mathml''> <i>dest</i> 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: <b><radio></b>
! 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: <b><answergroup></b> 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: <b><list></b>
! 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: <b><textline></b>
! 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: <b><textarea></b>
! 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: <b><check></b>
! 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: <b><button></b> - Not sure this is useful
! 135: </li>
! 136: </ul>
! 137: </li>
! 138: <li>
! 139: Randomiztion
! 140: <ul>
! 141: <li>
! 142: <b><randomlist></b> 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: <b><randomlist></b>
! 148: <b><tag1></b>
! 149: <b><subtag1></b>
! 150: <b></subtag1></b>
! 151: <b><subtag2></b>
! 152: <b></subtag2></b>
! 153: <b></tag1></b>
! 154: <b><tag2></b>
! 155: <b><subtag1></b>
! 156: <b></subtag1></b>
! 157: <b><subtag2></b>
! 158: <b></subtag2></b>
! 159: <b></tag2></b>
! 160: <b></randomlist></b>
! 161: </pre>
! 162: In this example, <b><tag1></b> or <b><tag2></b> will be
! 163: done first, but <b><subtag1></b> will always happen before
! 164: <b><subtag2></b>.
! 165: </li>
! 166: <li>
! 167: <b><foil></b>, <b><showfoil/></b>,
! 168: <b><showrandomfoil/></b> These tags combine to allow the
! 169: user greater control over the exact placement of a
! 170: randomized problem text. a <b><foil></b> tag defines a
! 171: section of the problem that will appear in places a
! 172: <b><showfoil/></b> or <b><showrandomfoil/></b> mark.
! 173: Internally, the parser will make a pass over an entire
! 174: answer group and count the number of <b><foil></b>,
! 175: <b><showfoil/></b>, and <b><showrandomfoil/></b> tags
! 176: that are used it will then make another pass and parse all
! 177: of the <b><foil></b> storing the results of these parses,
! 178: while parsing for each <b><show*></b> tag it hits it will
! 179: send to the output device a foil, the <b><show*></b> it
! 180: hit was a <b><showfoil></b> and this was the nth
! 181: <b><show*></b> it hit, it will display the nth foil. For
! 182: each <b><showrandomfoil></b> it hits it will randomly pick
! 183: from the remaining foils a foil to send to the output. If
! 184: there are more <b><show*></b> tags than foils, the extra
! 185: <b><show*></b> will have nothing sent out. If there are
! 186: more <b><foil></b> tags, the extras won't appear. When
! 187: mixing <b><showfoil></b> and <b><showrandomfoil></b> the
! 188: result is undefined.
! 189: </li>
! 190: </ul>
! 191: </li>
! 192: <li>
! 193: Answer Section
! 194: <ul>
! 195: <li>
! 196: <b><answergroup></b> this defines a grouping of
! 197: <b><*response></b> 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 <b><*response></b>s to decide whether this
! 203: grouping was correct, and assigns a grade, and provides any
! 204: feedback.
! 205:
! 206: <br><i>ID</i>, 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><i>name</i> optional, if set, it will be used by the
! 212: resource assembly tool when one is modfiying parameters.
! 213:
! 214: </li>
! 215: <li>
! 216: <b><*response></b> 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><i>ID</i>, 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><i>name</i> optional, if set, it will be used by the
! 231: resource assembly tool when one is modfiying parameters.
! 232: </li>
! 233: <li>
! 234: <b><param></b> can appear inside a <b><*response></b>,
! 235: they provided config options for the <b><*response></b>
! 236:
! 237: <br><i>type</i> specifies the parameter name, what are
! 238: possible values depends on the <b><*response></b>
! 239:
! 240: <br><i>value</i> 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><i>default</i> specifies the default value for this
! 246: parameter if the instructor doesn't specifiy it
! 247:
! 248: <br><i>ID</i>, 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: <b><problem></b> highest level tag, tells the parser that
! 260: this is a problem file
! 261:
! 262: <br><i>name</i> optional, if set, it will be used by the
! 263: resource assembly tool when one is modfiying parameters.
! 264: </li>
! 265: <li>
! 266: <b><part></b> 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><i>ID</i>, 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><i>name</i> optional, if set, it will be used by the
! 276: resource assembly tool when one is modfiying parameters.
! 277: </li>
! 278: <li>
! 279: <b><block></b> are section of the problem that can be
! 280: conditional, and provide visual grouping clues. The optional
! 281: arg <i>condition</i> is set to a perl snippet that
! 282: controls whether the parser will evaluate the
! 283: <b><block></b> or not. Helper function will be created for
! 284: making hints and other study aids easy to contruct.
! 285: </li>
! 286: <li>
! 287: <b><import></b> 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 <b><import></b>
! 290: </li>
! 291: <li>
! 292: <b><script></b> 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: <b><problem></b>. Except values which are expressly saved
! 297: and restored
! 298: </li>
! 299: <li>
! 300: <b><while></b> implements a while loop, required argument
! 301: <i>condition</i> 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: <b><scriptlib></b> the enclosed name is a file that
! 313: contains definition for new tags.
! 314: </li>
! 315: <li>
! 316: <b><parserlib></b> 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>