--- loncom/html/adm/help/tex/Custom_Response_Problem_Creation.tex 2013/06/26 08:14:55 1.1 +++ loncom/html/adm/help/tex/Custom_Response_Problem_Creation.tex 2017/01/23 20:29:42 1.7 @@ -1,26 +1,29 @@ -\label{Custom_Response_Problem_Creation} +\label{Custom_Response_Problem_Creation}\index{Custom Response} 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: +The student answer needs to be evaluated by Perl code inside the \texttt{$<$ answer$>$}-tag. Custom Response needs to include an algorithm that determines and returns a standard LON-CAPA response. The most common LON-CAPA responses 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 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 \texttt{answerdisplay} is shown instead of the student response in `show answer' mode after the answer date. The following example illustrates this: \begin{verbatim} Accept an answer of around 90 or -90 +# This examples uses perl 'regular expressions' for string evaluation. +# Consult a perl reference for help understanding the regular expressions. # We do not want a vector if ($submission=~/\,/) { return 'EXTRA_ANSWER'; } # Need a numerical answer here @@ -60,5 +63,6 @@ Full list of possible return codes: \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 EXCESS\_FILESIZE: student uploaded file(s) with a combined size that exceeded the amount allowed \item COMMA\_FAIL: answer requires the use of comma grouping and it wasn't provided or was incorrect \end{itemize}