Parser
/LET p[1] = "0.001,0.2,0.3"  // this has to be a string because of multiple values.
/LET p[2] = "0.002,0.4,0.6"  //
/LET p[3] = "0.003,0.6,0.9"  //
/LET p[4] = "0.004,0.7,1.2"  //

/LET pt = "1.3,4.5,8.9,0.3,5.8"

/LET pt2 = "1.2" + "," + pt  // "1.2,1.3,4.5,8.9,0.3,5.8"

/ANS(fm, evaluate = <m,g,theta @ pt,p[4],p[1],p[2]> , STR=FML, TOL=0.001)

/ANS(fm, Evaluate = < "x,y,z" @ pt1:pt2#5,p[4],p[1],p[2]> , STR=FML, TOL=0.00001)

/LET v_str = "x,y,z"

/ANS(fm, Eval = < v_str @ pt1:pt2#5,p[4],p[1],p[2]> , STR=FML, TOL=0.00001)

// generate uniformly 5 pts fom pt1 and pt2

/LET fm = "x^2 + y^2"
/LET v_str = "x,y"
/LET pt[1] = "0.5,0.5"
/LET pt[2] = "1.0,1.0"

//  TOL can be an absolute value, which indicates that the student input will be
//    combined with the exact answer to form a formula of the form
//    (fm) - (input)  and evaluated at specified point coordinates.
//    the evaluated value is then compared against the tolerance specified

/ANS(fm, Eval = < v_str @ p[1]> , STR=FML, TOL=0.00001)

//  TOL can be a relative value, as indicated below, which specifies the way
//     to evaluate the formula as
//     (input)/(fm)
//     the absolute value of this formula is compared against 1.0001
//

/ANS(fm, evaluate = < "x,y" @ p[1],p[2]> , STR=FML, TOL=0.01%)

// at this point, the number of variables in v_str MUST match the number of
// values specified in pt
//

// There are two ways to specify a range of point coordinates:

/LET five_points = "0.1,0.1:1.5,1.5#5"
/LET pt_start = "0.1,0.1"
/LET pt_end   = "1.5,1.5"
/LET pt_cnt   =  5

/ANS(fm, eval = < "x,y" @ five_points, pt_start : pt_end # pt_cnt > , STR=FML, TOL=0.01%)

Example:

Enter the formula describing
force between an object of mass m and an object of mass M with distance r meter apart:
(Use G as the gravitational constant)

/LET fm = "G*(1/r^2)*(m*M)"

/LET pt1 = "0.2,0.3,9.806"
/LET pt2 = "1.0,2.0,9.806"
/LET pts_cnt = 20
/ANS(fm,STR=FML,eval = <"m,M,G" @ pt1 : pt2 # 20>, TOL = 0.00001)

2.

3. Installation script
Assumption:
Quizzer
capahtml
capautils
class directory

http://wmm.coe.ttu.edu/ieee_trans_ed/nov99/instructions.htm

3. Item Response Annotation Syntax
For each problem, we need
date and time
class and school

# total number of students that should have tried this problem
# of students who actually tried this problem
# of correct
# of incorrect

raw score distribution of students that have correct answer of this problem
raw socre distribution of students that have incorrect answer of this problem

The syntax of item response analysis
/IRA(DATE;)

/IRA(1999/3/1,12:45;

July 15, 1999

1. Web interface
equation answers use large text box
-H works so that output can be viewed through web browser

2. New functions
all take an argument which specifies which set the information is for
to_string() work like /DIS()
table()
min(), max(), sort(), median() accept array variables
first_name()

3. CAPA syntax
/IF bug (which required all /ELSE)
/MAP undefined variables
/VERB /ENDVERB
/MAP can have spaces
0F format should output 90. not 90
arbitrary number of problems
/ANS type for condition satisfaction such as a=1, b=2, c=3,
satisfying ax + by +c = 0.0
CR/LF
/MAP(seed;out;in;num)
missing /ENDIF
/AND order indiscriminate option
4x work as 4*x
random seed based on student number, set number and prob number
figure out the correct sig fig limitation automatically
4. New features in utilities
qzparse hearder check
new option in -nopagebreak inhibits \newpage
new option use \clearpage instead of \newpage
new option to print students in alphabetical order, to select how many
students to print at a time
new option to control answer only output format
don't seg fault on malformed options
submission file creation becomes an option
set/weighted percentages per capa.config file
zero as an answer when a sig fig limitation is set
support anon quiz
:p for view previous subhective
when student enters T/F for questions expecting A-E
GLabel.java
better way to implement?
dateX.db
for dates on a per student basis
Classl editor
dropped section

5. Installing scripts
file structure diagram

6. Meta structures
xdvi config option