[LON-CAPA-users] cleaning up submissions for numerical response problems

Stuart Raeburn raeburn at msu.edu
Sat Dec 13 23:32:22 EST 2014


Doug,

> Am I right in thinking that &submission is not an option for retrieving
> data from separate problems in a sequence

Yes, LON-CAPA's &submission() function which first became available in  
LON-CAPA 2.7.0 has not, up until now, supported the inclusion of a  
mapalias to allow retrieval of submission data from separate problems  
in a sequence.

However, since &submission() internally calls &EXT() it is  
straightforward to implement support for that.

default_homework.lcpm rev. 1.170 (which will be included in 2.11.1)  
now includes an optional sixth argument, which will be the unique  
mapalias that is to be used. I have updated bug 6614 (see:  
http://bugs.loncapa.org/show_bug.cgi?id=6614#c4 ) with information  
about that.

Also see:
http://mail.lon-capa.org/pipermail/lon-capa-users/2012-April/003965.html

for information about mapaliases.


Stuart Raeburn
LON-CAPA Academic Consortium


Quoting "Mills, Douglas G" <dmills at illinois.edu>:

> Stuart,
>
> Am I right in thinking that &submission is not an option for retrieving
> data from separate problems in a sequence as opposed to retrieving answers
> from other responses all in the same problem?
>
> Doug
>
> Douglas Mills
> Director of Instructional Technologies
> Department of Chemistry
> University of Illinois
> dmills at illinois.edu
> (217) 244-5739
>
>
>
>
>
>
>
> On 12/11/14, 2:39 PM, "Stuart Raeburn" <raeburn at msu.edu> wrote:
>
>> Hi,
>>
>>> Any help or comments regarding any submission handling would be
>>> appreciated.
>>
>> The CAPA engine which determines correctness of submissions for
>> numericalresponse items (amongst others) tries its best to extract a
>> number from data submitted by the student. However, LON-CAPA
>> faithfully records the learner's actual submission.
>>
>> Accordingly, it is possible, as you have found, for a student to
>> provide some misshapen input in an initial part in a multi-part
>> problem, which LON-CAPA grades as correct, but then when you come to
>> use that submission in a perl script block for a subsequent part, it
>> does not behave as you might expect.
>>
>> See comment #3 in bug 6614 --
>> http://bugs.loncapa.org/show_bug.cgi?id=6614#c3
>>
>> There are three related enhancement requests: 6609, 6613 and 6614 (all
>> resolved in 2.11.0), with option (b) below.
>>
>> Your options are:
>>
>> (a) Include a preprocessor routine. (There is a problem template:
>> "Numerical Response with Pre-Processing" which is an example of this
>> functionality). The "preprocess" attribute was first included in
>> LON-CAPA 2.10.1
>>
>> or
>>
>> (b) Retrieve the student's previously submitted data using
>> &submission() in place of &EXT(), and specify desired clean-up in the
>> optional fifth argument in the call to &submission(). This fifth
>> argument is a reference to a hash, with one or more of the following
>> keys => values:
>>
>>   exponent => 1, comma => 1, letterforzero => 1, spaces => 1, format =>
>> 'ns'
>>   (where n is an integer, i.e., number of significant digits).
>>
>> An example call, where part id of first part is "one", and response ID of
>> numericalresponse in that part is "11" would be:
>>
>> $first = &submission('one','11','','',{exponent => 1, comma => 1,
>> letterforzero
>> => 1, spaces => 1, format => '3s'});
>>
>> with spaces => 1 included:
>>
>> 0. 44 in learner data would be converted to 0.44
>>
>> This fifth argument in &submission() was first included in LON-CAPA
>> 2.11.0.
>>
>> If you want to try this out, but your library server is running
>> 2.10.1, visit: https://testdrive.loncapa.org/ and create a username
>> and authoring space in the testdrive domain (not connected to the main
>> LON-CAPA network) - running 2.11.0.
>>
>> or
>>
>> (c) Create your own clean-up routines (e.g., in a .library file) and
>> import the file into your problems, and then within the script block
>> call the routine you created to clean up the learner data.
>>
>> or some combination of two or more of (a), (b), and (c).
>>
>> Some time I ago I created a library file containing a routine:
>> &cleaneq() which could be used to clean up algebraic expressions.
>> This file is published source XML open, so select an author role, and
>> then browse the /res/msu/raeburn/ directory in the shared repository
>> with the "Source Available" checkbox checked, and you will be able to
>> click on "Source Code" to pop-open a window displaying the perl
>> regular expressions used in the cleaneq routine in the cleaneq.library
>> file.
>>
>>
>> Stuart Raeburn
>> LON-CAPA Academic Consortium
>>
>>
>> Quoting Bob Gonzales <rgonzal at binghamton.edu>:
>>
>>> Hi,
>>>
>>> I'd like to look at the code that Loncapa uses to clean up submissions
>>> in
>>> numerical response problems.  I'm referring to clean-up actions like
>>> converting exponents from '1x10^1' to '1e1' and removing leading '+'
>>> signs.
>>>
>>> We have some lab exercises in which we use the student's entered data
>>> in
>>> some numerical response problems.  I'm getting the previously submitted
>>> data  via the &EXT() function.
>>>
>>> Every once in a while a student will submit their data with something
>>> like
>>> a leading '+' sign, which Loncapa cleans up, and the data is accepted as
>>> correct.  So, it would be good for me to do the same clean up before I
>>> use
>>> the submission.
>>>
>>> I've looked around in the system and I see some cleanup in the
>>> 'implicit_multiplication' routine in 'caparesponse.pm'  but I'm not sure
>>> I'm even in the right place.
>>>
>>> Any help or comments regarding any submission handling would be
>>> appreciated.
>>>
>>> Thanks,
>>> Bob Gonzales
>>> Chemistry Dept
>>> Binghamton University
>>
>> _______________________________________________
>> LON-CAPA-users mailing list
>> LON-CAPA-users at mail.lon-capa.org
>> http://mail.lon-capa.org/mailman/listinfo/lon-capa-users



More information about the LON-CAPA-users mailing list