--- loncom/html/adm/help/tex/Custom_Response_Problems.tex 2012/01/20 04:14:04 1.6 +++ loncom/html/adm/help/tex/Custom_Response_Problems.tex 2017/01/23 20:29:42 1.8 @@ -1,64 +1,2 @@ -\label{Custom_Response_Problems} -Custom Response is a way to have a problem graded based on an algorithm. The use of this response type is -generally discouraged, since the responses will not be analyzable by the LON-CAPA statistics tools. - -For a single textfield, the student's answer will be in a variable \$submission. If the Custom Response has multiple textfields, the answers will be in an array -reference, and can be accessed as \$\$submission[0], \$\$submission[1], etc. - -The student answer needs to be evaluated by Perl code inside the -tag. Custom Response needs to return a standard LON-CAPA. The most common response are: -\begin{itemize} -\item EXACT\_ANS: return if solved exactly correctly -\item APPROX\_ANS: return if solved approximately -\item INCORRECT: return if not correct, uses up a try -\item ASSIGNED\_SCORE: partial credit (also return the credit factor, e.g. return(ASSIGNED\_SCORE,0.3);) -\item SIG\_FAIL, NO\_UNIT, EXTRA\_ANSWER, MISSING\_ANSWER, BAD\_FORMULA, -WANTED\_NUMERIC, WRONG\_FORMAT: return if not correct for different reasons, does not use up a try -\end{itemize} -The answer display is shown instead of the student response in 'show answer' mode. -The following example illustrates this: -\begin{verbatim} - -Accept an answer of around 90 or -90 - - -# We do not want a vector -if ($submission=~/\,/) { return 'EXTRA_ANSWER'; } -# Need a numerical answer here -if ($submission!~/^[\d\.\-\e]+$/i) { return 'WANTED_NUMERIC'; } -$difference=abs(90-abs($submission)); -if ($difference==0) { return 'EXACT_ANS'; } -if ($difference < 0.1) { return 'APPROX_ANS'; } -return 'INCORRECT'; - - - -\end{verbatim} - - -Full list of possible return codes: -\begin{itemize} -\item EXACT\_ANS: student is exactly correct -\item APPROX\_ANS: student is approximately correct -\item NO\_RESPONSE: student submitted no response -\item MISSING\_ANSWER: student submitted some but not all parts of a response -\item EXTRA\_ANSWER: student submitted a vector of values when a scalar was expected -\item WANTED\_NUMERIC: expected a numeric answer and didn't get one -\item SIG\_FAIL: incorrect number of Significant Figures -\item UNIT\_FAIL: incorrect unit -\item UNIT\_NOTNEEDED: submitted a unit when one shouldn't -\item UNIT\_INVALID\_INSTRUCTOR: the unit provided by the author of the problem is unparsable -\item UNIT\_INVALID\_STUDENT: the unit provided by the student is unparasable -\item UNIT\_IRRECONCIBLE: the unit from the student and the instructor are of different types -\item NO\_UNIT: needed a unit but none was submitted -\item BAD\_FORMULA: syntax error in submitted formula -\item WRONG\_FORMAT: student submission did not have the expected format -\item INCORRECT: answer was wrong -\item SUBMITTED: submission wasn't graded -\item DRAFT: submission only stored -\item MISORDERED\_RANK: student submitted a poorly order rank response -\item ERROR: unable to get a grade -\item ASSIGNED\_SCORE: partial credit; the customresponse needs to return the award followed by the partial credit factor -\item TOO\_LONG: answer submission was deemed too long -\item INVALID\_FILETYPE: student tried to upload a file that was of an extension that was not specifically allowed -\item COMMA\_FAIL: answer requires the use of comma grouping and it wasn't provided or was incorrect -\end{itemize} +\label{Custom_Response_Problems}\index{Custom Response} +Custom Response is a way to have a problem graded based on an algorithm constructed in the perl script. The use of this response type is generally discouraged, since the responses will not be analyzable by the LON-CAPA statistics tools.