version 1.4, 2001/06/01 14:17:04
|
version 1.13, 2002/03/28 22:55:35
|
Line 4
|
Line 4
|
<title>LON-CAPA Homework System</title> |
<title>LON-CAPA Homework System</title> |
</head> |
</head> |
|
|
<body> |
<body bgcolor="white"> |
<h1>LON-CAPA Homework System</h1> |
<h1>LON-CAPA Homework System</h1> |
|
|
<h2>Tags</h2> |
<h2>Tags</h2> |
Line 62
|
Line 62
|
the response to go in. It checks all styles of numerical |
the response to go in. It checks all styles of numerical |
supported in CAPA. Possible args are: |
supported in CAPA. Possible args are: |
<ul> |
<ul> |
<li><i>answer</i> required, specifies the correct answer, must be a perl list</li> |
<li><i>answer</i> required, specifies the correct answer, may be either a perl list or scalar</li> |
<li><i>type</i> optional, CAPA style str args, cs/ci/mc</li> |
|
<li><i>units</i> optional, specifies unit of correct answer, CAPA style</li> |
<li><i>units</i> optional, specifies unit of correct answer, CAPA style</li> |
</ul> |
</ul> |
</li> |
</li> |
<li> |
<li> |
|
<b><stringresponse></b> implements a string answer, |
|
it needs an internal <b><textline></b> for the |
|
response to go in. It can check the string for either case |
|
or order. |
|
<ul> |
|
<li><i>answer</i> required, specifies the correct answer, may be either a perl list or scalar</li> |
|
<li><i>type</i> optional, CAPA style str args, cs/ci/mc |
|
<ul> |
|
<li>cs - case senesitive, order important</li> |
|
<li>ci - case insenesitive, order important</li> |
|
<li>mc - case insenesitive, order unimportant</li> |
|
</ul> |
|
</li> |
|
</ul> |
|
<li> |
<b><essayresponse></b> implements a ungraded large |
<b><essayresponse></b> implements a ungraded large |
text response, it need an internal <b><textarea></b> |
text response, it need an internal <b><textarea></b> |
for the response to go in. |
for the response to go in. |
Line 108
|
Line 122
|
<i>value</i> of a <foil>can only be "true" or |
<i>value</i> of a <foil>can only be "true" or |
"false" or "unused" |
"false" or "unused" |
</li> |
</li> |
|
<li> |
|
<b><dataresponse></b> implements a straight data |
|
storage entry idea, needs and interveing input tag like |
|
<textline> to work correctly.<br> |
|
Arguments: |
|
<ul> |
|
<li> |
|
<i>name</i> internal name for the value, it will have |
|
the part id and respose id added on to it |
|
</li> |
|
<li> |
|
<i>type</i> type of data stored in this response |
|
field, should be one of the types supported by |
|
parameter.html |
|
</li> |
|
<li> |
|
<i>display</i> a string that will be used to describe |
|
the field when interfacing with humans |
|
</li> |
|
</ul> |
|
<li> |
</ul> |
</ul> |
<li> |
<li> |
<a name="foil">Foil Structure Tags</a> |
<a name="foil">Foil Structure Tags</a> |
Line 201
|
Line 236
|
<b><window></b> the text in between is put in a |
<b><window></b> the text in between is put in a |
popup javascript window |
popup javascript window |
</li> |
</li> |
|
<li> |
|
<b><m></b> the inside text is LaTeX, and is |
|
converted to HTML (or MathML) on the fly, if the argument |
|
<i>eval</i> is set to "on" the intervening text will have |
|
a perl var expansion done to it before being converted. |
|
</li> |
</ul> |
</ul> |
</li> |
</li> |
<li> |
<li> |
Line 253
|
Line 294
|
</li> |
</li> |
<li> |
<li> |
<b><randomlist></b> the enclosed tags are parsed in |
<b><randomlist></b> the enclosed tags are parsed in |
a stable random order |
a stable random order, optional argument <i>show</i> |
|
restricts the number of tags indie that are actually |
|
parsed the no more than <i>show</i>. |
</li> |
</li> |
<li> |
<li> |
<b><solved></b> everything inside the tag is |
<b><solved></b> everything inside the tag is |
Line 300
|
Line 343
|
<h2><script> Functions</h2> |
<h2><script> Functions</h2> |
<p> |
<p> |
A list of functions that have been written that are available in |
A list of functions that have been written that are available in |
the Safe space scripting environment inside a problem. The eventual |
the Safe space scripting environment inside a problem. |
goal is to provide all of the functions available in CAPA. Detailed |
|
descriptions of each function and comparison with CAPA is given in |
|
<a href="homework6.html">CAPA to LON-CAPA Functions</a>. |
|
</p> |
</p> |
<ul> |
<ul> |
<li>sin(x), cos(x), tan(x)</li> |
<li>sin(x), cos(x), tan(x)</li> |
Line 338
|
Line 378
|
<li>caparesponse_check</li> |
<li>caparesponse_check</li> |
<li>caparesponse_check_list</li> |
<li>caparesponse_check_list</li> |
</ul> |
</ul> |
|
<!-- Table inserted by H. K. Ng |
|
06/01/2001 |
|
06/12/2001 |
|
--> |
|
<p> |
|
Detailed descriptions of each function and comparison with CAPA. |
|
</p> |
|
|
<table border=1> |
<table border=1> |
<tr> |
<tr> |
Line 347
|
Line 394
|
<td valign="top"><b>Differences (if any)</b</td> |
<td valign="top"><b>Differences (if any)</b</td> |
</tr> |
</tr> |
|
|
<tr> |
|
<td valign="top">sin(x), cos(x), tan(x)</td> |
|
<td valign="top">&sin($x), &cos($x), &tan($x)</td> |
|
<td valign="top">Trigonometric functions where x is in radians. $x |
|
can be a pure number, i.e., you can call &sin(3.1415)</td> |
|
<td valign="top"> </td> |
|
</tr> |
|
|
|
<tr> |
<tr> |
<td valign="top">sin(x), cos(x), tan(x)</td> |
<td valign="top">sin(x), cos(x), tan(x)</td> |
<td valign="top">&sin($x), &cos($x), &tan($x)</td> |
<td valign="top">&sin($x), &cos($x), &tan($x)</td> |
Line 454
|
Line 493
|
</tr> |
</tr> |
|
|
<tr> |
<tr> |
|
<td valign="top">/DIS($x,"nn")</td> |
|
<td valign="top">&format($x,"nn")</td> |
|
<td valign="top">Display or format $x as nn where nn is nF or nE and n is an integer.</td> |
|
<td valign="top"> The difference is obvious.</td> |
|
</tr> |
|
|
|
<tr> |
<td valign="top">roundto(x,n)</td> |
<td valign="top">roundto(x,n)</td> |
<td valign="top">&roundto($x,$n)</td> |
<td valign="top">&roundto($x,$n)</td> |
<td valign="top">Rounds a real number to n decimal points. $x and |
<td valign="top">Rounds a real number to n decimal points. $x and |
Line 485
|
Line 531
|
y is real. $x can be a pure number. $m must be an integer and can be a |
y is real. $x can be a pure number. $m must be an integer and can be a |
pure integer number. $y can be a pure real number</td> |
pure integer number. $y can be a pure real number</td> |
<td valign="top">In CAPA, j0, j1 and jn are contained in one function, |
<td valign="top">In CAPA, j0, j1 and jn are contained in one function, |
jn(m,x) where m takes the value of 0, 1 or 2. jv(y,x) was not implemented</td> |
jn(m,x) where m takes the value of 0, 1 or 2. jv(y,x) is new to LON-CAPA.</td> |
</tr> |
</tr> |
|
|
<tr> |
<tr> |
Line 496
|
Line 542
|
yv(y,x), y is real. $x can be a pure number. $m must be an integer and |
yv(y,x), y is real. $x can be a pure number. $m must be an integer and |
can be a pure integer number. $y can be a pure real number</td> |
can be a pure integer number. $y can be a pure real number</td> |
<td valign="top">In CAPA, y0, y1 and yn are contained in one function, |
<td valign="top">In CAPA, y0, y1 and yn are contained in one function, |
yn(m,x) where m takes the value of 0, 1 or 2. yv(y,x) was not implemented</td> |
yn(m,x) where m takes the value of 0, 1 or 2. yv(y,x) is new to LON-CAPA.</td> |
</tr> |
</tr> |
|
|
<tr> |
<tr> |
Line 519
|
Line 565
|
</tr> |
</tr> |
|
|
<tr> |
<tr> |
|
<td valign="top">/MAP(seed;w,x,y,z;a,b,c,d)</td> |
|
<td valign="top">Option 1 - &map($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d]) or <br> |
|
Option 2 - &map($seed,\@mappedArray,[$a,$b,$c,$d]) <br> |
|
Option 3 - @mappedArray = &map($seed,[$a,$b,$c,$d]) <br> |
|
Option 4 - ($w,$x,$y,$z) = &map($seed,\@a) <br> |
|
where $a='A'<br> |
|
$b='B'<br> |
|
$c='B'<br> |
|
$d='B'<br> |
|
$w, $x, $y, and $z are variables</td> |
|
<td valign="top">Assigns to the variables $w, $x, $y and $z the values of the |
|
$a, $b, $c and $c (A, B, C and D). The precise value for $w .. depends |
|
on the seed. (Option 1 of calling map). |
|
In option 2, the values of $a, $b .. are mapped into the array, @mappedArray. The two |
|
options illustrate the different grouping. Options 3 and 4 give a consistent |
|
way (with other functions) of mapping the items. For each option, the group can |
|
be passed as an array, for example, [$a,$b,$c,$d] => \@a.</td> |
|
<td valign="top">In CAPA, the arguments are divided into three groups separated |
|
by a semicolon ;. In LON-CAPA, the separation is done by using [] brackets or |
|
using an array @a. Note the backslash (\) before the arguments in the |
|
second and third groups.</td> |
|
</tr> |
|
|
|
|
|
<tr> |
|
<td valign="top">rmap(seed;a,b,c,d;w,x,y,z)</td> |
|
<td valign="top">Option 1 - &rmap($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d]) or <br> |
|
Option 2 - &rmap($seed,\@rmappedArray,[$a,$b,$c,$d]) <br> |
|
Option 3 - @rmapped_array = &rmap($seed,[$a,$b,$c,$d]) <br> |
|
Option 4 - ($w,$x,$y,$z) = &rmap($seed,\@a) <br> |
|
where $a='A'<br> |
|
$b='B'<br> |
|
$c='B'<br> |
|
$d='B'<br> |
|
$w, $x, $y, and $z are variables</td> |
|
<td valign="top">The rmap functions does the reverse action of map if the same seed |
|
is used in calling map and rmap. </td> |
|
<td valign="top">In CAPA, the arguments are divided into |
|
three groups separated by a semicolon ;. In LON-CAPA, the |
|
separation is done by using [] brackets (with create an |
|
unamed vector reference) or using an array @a. Note the |
|
backslash (\) before the arguments in the second and |
|
third groups (Which cause Perl to send to variable |
|
locations rather than the variable values, similar to a C |
|
pointer).</td> |
|
</tr> |
|
|
|
<tr> |
|
<td valign="top">NOT IMPLEMENTED IN CAPA</td> |
|
<td valign="top">$a=&xmlparse($string) </td> |
|
<td valign="top">Runs the internal parser over the |
|
argument parsing for display. <b>Warning</b> This will |
|
result in different strings in different targets. Don't use |
|
the results of this function as an answer.</td> |
|
<td valign="top">New to LON-CAPA</td> |
|
</tr> |
|
|
|
<tr> |
<td valign="top">tex(a,b), tex("a","b")</td> |
<td valign="top">tex(a,b), tex("a","b")</td> |
<td valign="top">&tex($a,$b), &tex("a","b")</td> |
<td valign="top">&tex($a,$b), &tex("a","b")</td> |
<td valign="top">Returns a if the output mode is in tex otherwise |
<td valign="top">Returns a if the output mode is in tex otherwise |
Line 607
|
Line 711
|
result in array B[i] where i = 0 to 4. The contents of B are as follows: |
result in array B[i] where i = 0 to 4. The contents of B are as follows: |
B[0] = number of elements, B[1] = mean, B[2] = variance, B[3] = skewness |
B[0] = number of elements, B[1] = mean, B[2] = variance, B[3] = skewness |
and B[4] = kurtosis.</td> |
and B[4] = kurtosis.</td> |
<td valign="top"> </td> |
<td valign="top">In CAPA, the moments are passed as an array in the first argument whereas |
|
in LON-CAPA, the array containing the moments are set equal to the function.</td> |
</tr> |
</tr> |
|
|
<tr> |
<tr> |
Line 626
|
Line 731
|
<td valign="top">To destroy the contents of an array, use</td> |
<td valign="top">To destroy the contents of an array, use</td> |
<td valign="top">Use perl intrinsic undef function.</td> |
<td valign="top">Use perl intrinsic undef function.</td> |
</tr> |
</tr> |
|
<tr> |
<tr> |
<td valign="top">random_normal (return_array,item_cnt,seed,av,std_dev)</td> |
<td valign="top">random_norma(...), random_beta(...), random_gamma(...), |
<td valign="top">@return_array=&random_normal ($item_cnt,$seed,$av,$std_dev)</td> |
random_exponential(...), random_poisson(...), random_chi(...), random_noncentral(...)</td> |
<td valign="top">Generate $item_cnt deviates of normal distribution of average $av and |
<td valign="top">Not yet implemented.</td> |
standard deviation $std_dev. The distribution is generated from seed $seed</td> |
<td valign="top"> </td> |
<td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA |
<td valign="top"> </td> |
the results are set equal to the function.</td> |
</tr> |
</tr> |
</table> |
<tr> |
|
<td valign="top">random_beta (return_array,item_cnt,seed,aa,bb)</td> |
|
<td valign="top">@return_array=&random_beta ($item_cnt,$seed,$aa,$bb) <br> |
|
NOTE: Both $aa and $bb MUST be greater than 1.0E-37.</td> |
|
<td valign="top">Generate $item_cnt deviates of beta distribution. |
|
The density of beta is: |
|
X^($aa-1) *(1-X)^($bb-1) /B($aa,$bb) for 0<X<1.</td> |
|
<td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA |
|
the results are set equal to the function.</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">random_gamma (return_array,item_cnt,seed,a,r)</td> |
|
<td valign="top">@return_array=&random_gamma ($item_cnt,$seed,$a,$r) <br> |
|
NOTE: Both $a and $r MUST be positive.</td> |
|
<td valign="top">Generate $item_cnt deviates of gamma distribution. |
|
The density of gamma is: |
|
($a**$r)/gamma($r) * X**($r-1) * exp(-$a*X).</td> |
|
<td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA |
|
the results are set equal to the function.</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">random_exponential (return_array,item_cnt,seed,av)</td> |
|
<td valign="top">@return_array=&random_exponential ($item_cnt,$seed,$av) <br> |
|
NOTE: $av MUST be non-negative.</td> |
|
<td valign="top">Generate $item_cnt deviates of exponential distribution. </td> |
|
<td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA |
|
the results are set equal to the function.</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">random_poisson (return_array,item_cnt,seed,mu)</td> |
|
<td valign="top">@return_array=&random_poisson ($item_cnt,$seed,$mu) <br> |
|
NOTE: $mu MUST be non-negative.</td> |
|
<td valign="top">Generate $item_cnt deviates of poisson distribution. </td> |
|
<td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA |
|
the results are set equal to the function.</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">random_chi (return_array,item_cnt,seed,df)</td> |
|
<td valign="top">@return_array=&random_chi ($item_cnt,$seed,$df) <br> |
|
NOTE: $df MUST be positive.</td> |
|
<td valign="top">Generate $item_cnt deviates of chi_square distribution with $df |
|
degrees of freedom. </td> |
|
<td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA |
|
the results are set equal to the function.</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">random_noncentral_chi (return_array,item_cnt,seed,df,nonc)</td> |
|
<td valign="top">@return_array=&random_noncentral_chi ($item_cnt,$seed,$df,$nonc) <br> |
|
NOTE: $df MUST be at least 1 and $nonc MUST be non-negative.</td> |
|
<td valign="top">Generate $item_cnt deviates of noncentral_chi_square |
|
distribution with $df |
|
degrees of freedom and noncentrality parameter $nonc. </td> |
|
<td valign="top">In CAPA the results are passed as the first argument whereas in LON-CAPA |
|
the results are set equal to the function.</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">NOT IMPLEMENTED IN CAPA</td> |
|
<td valign="top">@return_array=&random_f ($item_cnt,$seed,$dfn,$dfd) <br> |
|
NOTE: Both $dfn and $dfd MUST be positive.</td> |
|
<td valign="top">Generate $item_cnt deviates of F (variance ratio) distribution with |
|
degrees of freedom $dfn (numerator) and $dfd (denominator). </td> |
|
<td valign="top">New to LON-CAPA</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">NOT IMPLEMENTED IN CAPA</td> |
|
<td valign="top">@return_array=&random_noncentral_f ($item_cnt,$seed,$dfn,$dfd,$nonc) <br> |
|
NOTE: $dfn must be at least 1, $dfd MUST be positive, and $nonc must |
|
be non-negative.</td> |
|
<td valign="top">Generate $item_cnt deviates of noncentral F (variance ratio) |
|
distribution with degrees of freedom $dfn (numerator) and $dfd (denominator). |
|
$nonc is the noncentrality parameter. </td> |
|
<td valign="top">New to LON-CAPA</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">NOT DOCUMENTED IN CAPA</td> |
|
<td valign="top">@return_array=&random_multivariate_normal ($item_cnt,$seed,\@mean,\@covar) <br> |
|
NOTE: @mean should be of length p array of real numbers. @covar should be a length |
|
p array of references to length p arrays of real numbers (i.e. a p by p matrix.</td> |
|
<td valign="top">Generate $item_cnt deviates of multivariate_normal distribution with |
|
mean vector @mean and variance-covariance matrix. </td> |
|
<td valign="top">Note the backslash before the @mean and @covar arrays.</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">NOT IMPLEMENTED IN CAPA</td> |
|
<td valign="top">@return_array=&random_multinomial ($item_cnt,$seed,@p) <br> |
|
NOTE: $item_cnt is rounded with int() and the result must be non-negative. |
|
The number of elements in @p must be at least 2.</td> |
|
<td valign="top">Returns single observation from multinomial distribution with |
|
$item_cnt events classified into as many categories as the length of @p. |
|
The probability of an event being classified into category i is given by |
|
ith element of @p. The observation is an array with length equal to @p, so |
|
when called in a scalar context it returns the length of @p. The sum of the |
|
elements of the obervation is equal to $item_cnt.</td> |
|
<td valign="top">New to LON-CAPA</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">NOT IMPLEMENTED IN CAPA</td> |
|
<td valign="top">@return_array=&random_permutation ($item_cnt,@array) </td> |
|
<td valign="top">Returns @array randomly permuted.</td> |
|
<td valign="top">New to LON-CAPA</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">NOT IMPLEMENTED IN CAPA</td> |
|
<td valign="top">@return_array=&random_uniform ($item_cnt,$seed,$low,$high) <br> |
|
NOTE: $low must be less than or equal to $high.</td> |
|
<td valign="top">Generate $item_cnt deviates from a uniform distribution. </td> |
|
<td valign="top">New to LON-CAPA</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">NOT IMPLEMENTED IN CAPA</td> |
|
<td valign="top">@return_array=&random_uniform_integer ($item_cnt,$seed,$low,$high) <br> |
|
NOTE: $low and $high are both passed through int(). |
|
$low must be less than or equal to $high.</td> |
|
<td valign="top">Generate $item_cnt deviates from a uniform distribution in integers. </td> |
|
<td valign="top">New to LON-CAPA</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">NOT IMPLEMENTED IN CAPA</td> |
|
<td valign="top">@return_array=&random_binomial ($item_cnt,$seed,$nt,$p) <br> |
|
NOTE: $nt is rounded using int() and the result must be non-negative. |
|
$p must be between 0 and 1 inclusive.</td> |
|
<td valign="top">Generate $item_cnt deviates from the binomial distribution with |
|
$nt trials and the probabilty of an event in each trial is $p. </td> |
|
<td valign="top">New to LON-CAPA</td> |
|
</tr> |
|
<tr> |
|
<td valign="top">NOT IMPLEMENTED IN CAPA</td> |
|
<td valign="top">@return_array=&random_negative_binomial ($item_cnt,$seed,$ne,$p) <br> |
|
NOTE: $ne is rounded using int() and the result must be positive. |
|
$p must be between 0 and 1 exclusive.</td> |
|
<td valign="top">Generate an array of $item_cnt outcomes generated from |
|
negative binomial distribution with |
|
$ne events and the probabilty of an event in each trial is $p. </td> |
|
<td valign="top">New to LON-CAPA</td> |
|
</tr> |
|
</table> |
|
<!-- insertion ends --> |
|
|
<h2><script> Variables</h2> |
<h2><script> Variables</h2> |
<ul> |
<ul> |
Line 668
|
Line 908
|
<address><a href="mailto:albertel@marvin.lite.msu.edu">Guy Albertelli</a></address> |
<address><a href="mailto:albertel@marvin.lite.msu.edu">Guy Albertelli</a></address> |
<!-- Created: Thu May 17 15:05:35 EDT 2001 --> |
<!-- Created: Thu May 17 15:05:35 EDT 2001 --> |
<!-- hhmts start --> |
<!-- hhmts start --> |
Last modified: Fri May 18 21:29:39 EDT 2001 |
Last modified: Thu Mar 28 17:59:42 EST 2002 |
<!-- hhmts end --> |
<!-- hhmts end --> |
</body> |
</body> |
</html> |
</html> |