File:  [LON-CAPA] / capa / capa51 / pProj / Changes
Revision 1.3: download - view: text, annotated - select for diffs
Wed Aug 30 15:02:30 2000 UTC (23 years, 9 months ago) by albertel
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, version_0_99_3, version_0_99_2, version_0_99_1, version_0_99_0, version_0_6_2, version_0_6, version_0_5_1, version_0_5, version_0_4, stable_2002_spring, stable_2002_july, stable_2002_april, stable_2001_fall, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, conference_2003, bz6209-base, bz6209, STABLE, HEAD, GCI_3, GCI_2, GCI_1, CAPA_5-1-6, CAPA_5-1-5, CAPA_5-1-4_RC1, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
- documentation updates

    1: 
    2: 
    3: New functions
    4: 
    5: 
    6: array_min(array_name)
    7: array_max(array_name)
    8: 
    9: will calculate the min or max value from the 
   10: array given by array_name. All elements in 
   11: array array_name should be of numerical type, 
   12: if there is one element assigned a string value, 
   13: then array_min() and array_max() will give an
   14: error, indicating that it could not calculate 
   15: the min or max value for strings.
   16: 
   17: /LET arr[123]=123
   18: /LET arr[456]=456
   19: /LET arr[1]=1
   20: /LET arr[34]=34
   21: /LET arr[56]=56
   22: /LET arr[78]=78
   23: /LET arr[12]=12
   24: /LET arr[4]=4
   25: /LET arr["124"]=124
   26: /LET arr[1.2]=1.01234567
   27: /LET max = array_max(arr)
   28: /LET min = array_min(arr)
   29: 
   30: The results of max will be 456 and min will be 1.
   31: 
   32: 
   33: array_moments(result_array, input_array)
   34: 
   35: 
   36: /LET elements = array_moments(result_array, data_array)
   37: 
   38: The input array is data_array and the calculated results will be placed in a newly
   39: created array named result_array. This resulting array contains exactly five elements, 
   40: result_array[0]  = number of elements in input array
   41: result_array[1]  = mean value of elements in input array
   42: result_array[2]  = variance of elements in input array
   43: result_array[3]  = skewness of elements in input array
   44: result_array[4]  = Kurtosis value of elements in input array
   45: 
   46: Suppose all values in array data_array is denoted by $X$, 
   47: the $i$-th element in the array is denoted by $x_i$, and 
   48: the number of elements in the array is denoted by $n$.
   49: The formula of mean value is given by $\Sigma_{i=0}^{n-1} x_i / n$.
   50: Let $\mu$ represents the mean value of the array. 
   51: The variance is defined as  $\frac{\Sigma_{i=0}^{n-1}(x_i - \mu)^2}{n-1}$. 
   52: The standard deviation of the array can be calculated by taking the square root
   53: of variance. Let $\sigma$ denotes the standard deviation of the array. 
   54: Skewness is calculated from $\frac{\Sigma_{x=0}^{n-1}((x_i - \mu)/\sigma)^3}{n}$
   55: The Kurtosis value is from the formula 
   56: \frac{\Sigma_{i=0}^{n-1}(x_i - \mu)/\sigma)^4}{n} - 3$
   57: The constant $3$ is used to make the normal distribution appear to have a zero Kurtosis.
   58: 
   59: 
   60: Formula answer
   61: 
   62: As of CAPA 5.1, a new type of answer can be used by the instructor. 
   63: A formula as an answer to a problem. That is, the instructor defines a string of 
   64: formula and ask the students to enter the formula, as long as the entered formula
   65: is equivalent to the answer formula, the CAPA system will check and 
   66: issue correctness or incorrectness based on their equivalence. 
   67: The underlying mechanism behind this type of answer is that besides the formula string, 
   68: two additional pieces of informations have to be provided 
   69: by the instructor, (1) the list of variables used in the answer string and 
   70: (2) the values of these variables to be used in evaluating formula equivalence.
   71: Those two pieces of information are given within a pair of angle brackets appearing
   72: as the right hand side of the keywork "eval =". 
   73: 
   74: The list of variables is entered as a string or a variable containing a 
   75: string value. Within that string, each variable is separated by a comma. 
   76: The symbol '@' then follows. 
   77: Two forms of variable values can be used. A string with comma separated numerical values
   78: or two comma separated numerical values divided by a ':' symbol and followed by
   79: a '#' symbol and an integer indicating the number of values to be 
   80: interpolated within the two values given previously. Both form can be replaced by
   81: a variable containing the proper string value. 
   82: 
   83: Tolerence can be given to allow the instructor fine tune the results
   84: of acceptable values when checking the equivalence of two formulae. 
   85: 
   86: 
   87: /LET f="x^2+y*y^(2)"
   88: /LET vlist = "x,y"
   89: /LET pts = "1,4:4,5#5"
   90: 
   91: /ANS(f,str=FML ,eval = <"x,y" @ "-1.0,-1.0":"1,1"#4, pts, "0.0,0.0"> ,tol=1e-9) 
   92: 
   93: --
   94: Fixed rad != 1/s  in capaUnit.c
   95: add   init_array() function to the user
   96: 
   97: 
   98: 
   99: 
  100: 
  101: --
  102: changes from 4.6.3 to 5.0.0
  103: 
  104: units 
  105: 
  106: Use stacks of data structure to implement 
  107: /WHILE /ENDW loops
  108: /IF /ELSE /ENDIF
  109: 
  110: use EoL token to replace '\n', '\r''\n', and '\r'. 
  111: 
  112: 
  113: 
  114: FILE FORMAT
  115:  setX.db header will look like 
  116:  9999999, 
  117:  1222111111111111111111111
  118:  1111111111111111111111
  119:  abc,y,xy,x
  120:  abcde,...
  121: 
  122: 
  123: 
  124: 
  125: prints a percentage sign in the term summary.
  126: 
  127: Added a rule to the <S_VARIABLE> state in the lexer so \\{Space}*\n
  128: can occur inside a /DIS command
  129: 
  130: Fixed the rule matching in the <S_STRING> state so that \\{Space}+\n 
  131: will actually get matched, (Before the string text matching rule was
  132: getting matched) (Performance detraction)
  133: 
  134: capalogin, and capaweb things ignore the generation of SIGFPE, this is
  135: because capa_check_answer was generating strange Floating point
  136: underflow errors
  137: 
  138: added possible option capaweb_cgibin_path, specify what directory the 
  139: capasbin and capahtml are located in, if not specified defaults to
  140: "capa-bin"
  141: 
  142: Fixed bug in inhibiting the display of the Summary Score in capalogin
  143: (was instead displaying what the option's value was)
  144: 
  145: Now accepts numbers of the form .{Number}+[Ee]{+,-}*{Number}+
  146: (things like .3e-2)
  147: 
  148: Changed message to read "Hand-graded Correct"
  149: 
  150: was not initializing all the values to the defaults in the first
  151: problem in a set in capaCommon.c (capa_parse)
  152: 
  153: capa_set_entry was returning an error if setting the last entry in the
  154: file
  155: 
  156: Now emits a WARNING in all cases of a numerical answer with zero
  157: tolerance except when it is an integer answer and the tolerance of
  158: zero is specified.
  159: 
  160: error messages now contain a WARNING or ERROR whether the error can be
  161: ignored (WARNING) or shouldn't be (ERROR)
  162: 
  163: qzparse now correctly genereates answer strings when running with -Tb
  164: and -Stu
  165: 
  166: --
  167: changes from 4.6.2 to 4.6.3
  168: 
  169: Issac made vast changes, the WhatsNew document will give a good
  170: indication of what is different.
  171: 
  172: --
  173: changes from 4.6.1 to 4.6.2
  174: 
  175: capalogin gets a maximum inactivity time from capa.config file, option
  176: is capalogin_inactivity_delay specified in minutes , default is 60 minutes
  177: 
  178: capalogin gets exam_path and quiz_path from capa.config file, option
  179: is exam_path, quiz_path
  180: 
  181: capalogin now gets delay time from capa.config, option is
  182: capalogin_goodbye_delay, defaults to five if the option is not
  183: specified or capa.config can't be read.
  184: 
  185: allcapaid understands starting set option, specifiying calss directory
  186: on command line, doesn't create files but prints info to screen with
  187: -i option, and can have an output directory specified with the -d
  188: option
  189: 
  190: allcapaid creates a capaID directory and sectionX.id files
  191: 
  192: allpin.c move to allcapaid.c
  193: 
  194: capaCgiUtils.c modified to have friendlier messages on problems that
  195: have not yet been correctly answered, now says "Not correct yet", and
  196: no longer says Incorrect on problems that are incorrect with no more
  197: tries.
  198: 
  199: capa.config was modified, comments must be on their own lines and must
  200: have a # in the first column
  201: 
  202: capa_get_header forgot to init nq before using it.
  203: 
  204: qzparse was incorrectly handling the TeXfooter with the new directory
  205: specification code.
  206: 
  207: changed the exit button so that at least netscape 3.0 and 4.0 browsers 
  208: actually close the window.
  209: 
  210: changed all 'method="link"' to 'method="get"'
  211: 
  212: commented out alot of error condition printfs in capaCommon.c where
  213: the errcondition was signified already by a returned error
  214: code. Cleans up some of the web output when silly things are entered.
  215: 
  216: if VSET is an empty string, set g_vset to 1. (sscanf would assign 0 by
  217: default.)
  218:  
  219: Added Reload Button to top of the capa pages, it resends the same data
  220: as the "Try current set" or View Previous set button did.
  221: 
  222: Explanations are now printed on the web when viewing previous sets.
  223: 
  224: --
  225: changes from 4.6 to 4.6.1 (capasbin, capahtml distributed to colorado)
  226: 
  227: added result code of UNIT_NOTNEEDED for when student specifies a unit
  228: but the answer to a question does not need units. Modified capalogin.c
  229: and capaCgiUtils.c to make use of this new situation along with
  230: changing capaCommon.c:capa_check_answer to return this result
  231: 
  232: fixed a problem where if a student put a space at the end of his answer  
  233: that included units, the space would be thought of as a multiply sign.
  234: 
  235: capa_get_student forgot to copy the student number into the returned
  236: student structure
  237: 
  238: changed the logging of submissions to now only log non blank answers
  239: from students and to use a smaller date string, hopefully this will
  240: minimize the amount of data created.
  241: 
  242: changed the login screen help link to look a button, and added a
  243: similar button go right beside the Exit button on assignment pages.
  244: 
  245: gave qzparse the -d option to specify a different directory for the
  246: output files.
  247: 
  248: changed the "Incorrect, no more tries" messages to correctly display
  249: the last answer and imbedded the last answer back into the web page.
  250: 
  251: created w_log_submissions and modified w_get_input to log the
  252: submissions received from the web page
  253: 
  254: in capaHTML.c error code is printed out when an error is returned from 
  255: w_get_input.
  256: 
  257: modified print_quizz to check w_log_attempt's return value and emit an
  258: error message if it was incabable of doing so.
  259: 
  260: changed w_log_attempt to no longer need a section number argument
  261: 
  262: added more info to the error message about not able to access class
  263: directory.
  264: 
  265: modified capaCgiUtils.h to check the result from getenv for a NULL pointer
  266: (In case the env variable is not set) in all uses of getenv
  267: 
  268: when printing out answers to questions when in VIEW_PREVIOUS_MODE the
  269: format string was missing a %s to print the units out and a <br> to
  270: keep the next problem from starting on the same line.
  271: 
  272: changed all occurances of &times to &#215 as per HTML 4.0 specs
  273: (Macintoshes now correctly display multiplication sign.)
  274: 
  275: changed all occurances of /class.html to /CAPA/class.html
  276: 
  277: modified the qzparse.c and allpin.c to use the new versioning method
  278: 
  279: capasbin and capahtml now emit a comment that has the CAPA_VER and
  280: COMPILE_DATE info
  281: 
  282: in capaCgiUtils.c I moved the hidden input fields to be listed infront
  283: of the questions, this way early button mashers don't forget to send
  284: this info back to the server
  285: 
  286: using the define CAPA_VER and COMIPLE_DATE for the version number and
  287: date of compiling of the code, set in the Makefile
  288: 
  289: --
  290: changes from 4.5 to 4.6
  291: 
  292: changed u_parse_unit to be a series of nested elseifs to handle
  293: conditions where invalid characters appear in the unit spec
  294: 
  295: added global variable gUnitError to be set to one if an error occurs
  296: while parsing a unit spec.
  297: 
  298: 
  299: --
  300: Old updates:
  301: 
  302: 
  303: After July distribution:
  304: 
  305: FIXES: char *c_getpath() has the while loop that looked like:
  306: 
  307:  **** while (isalnum(c) || c == '{' || c == '}' || c == '-' || c == '\' ||
  308:              c == '^'   || c == '_' || c == '/' || c == '.' || c == ':' ||
  309:              c == '+'   || c == '*' || c == '#' || c == '!' || c == '=' || 
  310:              c == ';'   || c == '$' || c == '(' || c == ')' || c == '[' ||
  311:              c == ']'   || c == '?' || c == '>' || c == '<' || c == ',');
  312: 
  313: Update to manual:
  314: 
  315: 1. web_access.log permission should read:
  316:    -rw-rw-r-- instead of -rw-r--r--
  317: 
  318: 2. weight = 0 

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