AUTOMATED TEST GENERATION

Faisal Whelpley
Netmath Program, UIUC

Join the Conversation #WolframTechConf

Program History

Calculus&Mathematica

Professors Jerry Uhl, Bill Davis and Horacio Porta received an NSF grant to develop the Mathematica-based calculus reform project, Calculus&Mathematica in 1988.

Students went to lecture and then spent time in a computer lab to work on assignments.

By student suggestion, the classroom was soon flipped.

Netmath

The Distance Education Program (DEP) was created with the use of a Scientific Literacy grant to accommodate rural high school students in Illinois.

In 1996, NetMath began to offer the same courses to adult learners online in addition to high school students.

NetMath is the longest running and most successful online Mathematics program in the world.

All courses are offered with UIUC credit in the following modes of operation:

Self-paced rolling enrollment

Partner high school program

Summer term (UIUC students only)

Paper Exams

Due to the long history and establishment, paper exams play a vital role in Netmath courses. 
The exams are monitored by certified proctors near the students.

Problem

Exams are hand crafted on a regular basis

Solution

Automate the exam generation

Automation

Clear[bubble,label];
bubble[center_,label_,highlight_]:=GraphicsGroup[{
{Dynamic[EdgeForm[Directive[If[label===highlight,Red,Black],Thickness[Scaled[.005]]]]],LightGray,Disk[center,{2,1}]},
{Text[Style[label,FontSize->Scaled[.05]],center]}}
]
label[text_,center_,offset_:{0,0}]:=Text[Style[text,Italic,FontSize->Scaled[.04]],center,offset]
DynamicModule[{highlight},
(*Deploy@*)Graphics[{
KeyValueMap[
Button[bubble[#2,#1,highlight],highlight=#1]&,
\[LeftAssociation]"Database"->{5,8},"Template"->{2,5},"Build"->{8,5},"Exams"->{5,2}\[RightAssociation]
],
Arrow[{{{3,8},{2,8},{2,6}},{{5,5},{5,3}},{{7,8},{8,8},{8,6}}}],
Arrowheads[{-1,1}0.04],
Arrow[{{4,5},{6,5}}],
label["keywords",{2,8},{0,-1.1}],
label["contents",{8,8},{0,-1.1}]
},ImageSize->Scaled[0.8]
]
]

Next steps

Improvements to build process

Refining ranking algorithms

Polish up the user interface