A process for using a computer to assess problem-solving skill includes a
computer program that grades multi-step problems and is made aware of
several different but equally valid formulas or methods that use answers
to one or more prior steps to arrive at a correct answer to any problem
step for which such choices exist. The user is allowed to submit answers,
repeatedly if necessary, to any or all of a problem's steps, in any
desired order, until all steps are either graded as correct or the
correct answer was requested and given. A user's problem-solving skill
level is assessed by compiling how many times answers to each step were
submitted and on which Tries; if graded as correct, the Try on which
credit was given and whether credit was given for a submitted answer, a
submitted formula, or an unsubmitted answer for which prior-answer credit
was given; if the correct answer was requested, the Try for which the
request was made; and if hints are provided, a summary of their use. This
data is stored and used to assess a user's skill level.