File:  [LON-CAPA] / loncom / homework / gradesubmission.pl
Revision 1.1: download - view: text, annotated - select for diffs
Tue Oct 18 15:33:55 2005 UTC (18 years, 6 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- making <externalresponse> work
- added a really simple (and stupid) grading script

    1: #!/usr/bin/perl
    2: # The LearningOnline Network with CAPA
    3: # example submissions grader for use with <externalresponse>
    4: #
    5: # $Id: gradesubmission.pl,v 1.1 2005/10/18 15:33:55 albertel Exp $
    6: #
    7: # Copyright Michigan State University Board of Trustees
    8: #
    9: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   10: #
   11: # LON-CAPA is free software; you can redistribute it and/or modify
   12: # it under the terms of the GNU General Public License as published by
   13: # the Free Software Foundation; either version 2 of the License, or
   14: # (at your option) any later version.
   15: #
   16: # LON-CAPA is distributed in the hope that it will be useful,
   17: # but WITHOUT ANY WARRANTY; without even the implied warranty of
   18: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   19: # GNU General Public License for more details.
   20: #
   21: # You should have received a copy of the GNU General Public License
   22: # along with LON-CAPA; if not, write to the Free Software
   23: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   24: #
   25: # /home/httpd/html/adm/gpl.txt
   26: #
   27: # http://www.lon-capa.org/
   28: #
   29: 
   30: use strict;
   31: use CGI qw(:standard);
   32: 
   33: my %form;
   34: &main();
   35: sub main {
   36:     my $q=new CGI;
   37:     print $q->header(-type => 'text/xml');
   38:     %form = $q->Vars();
   39:     my ($result,$message) = &grade();
   40:     &print_result($result,$message);
   41: }
   42: 
   43: sub print_result {
   44:     my ($result,$message) = @_;
   45:     print("<loncapagrade>\n");
   46:     print("<awarddetail>$result</awarddetail>\n");
   47:     print("<message>$message</message>\n");
   48:     print "</loncapagrade>";
   49: }
   50: 
   51: 
   52: sub grade {
   53:     if ($form{'LONCAPA_student_response'} =~ /a/) {
   54: 	return ('APPROX_ANS','Go a!');
   55:     } 
   56:     if ($form{'LONCAPA_student_response'} =~ /b/) {
   57: 	return ('EXACT_ANS','Go a!');
   58:     }
   59:     if ($form{'LONCAPA_student_response'} =~ /c/) {
   60: 	return ('INCORRECT','No c');
   61:     }
   62:     return ('INCORRECT','Hrrm');
   63: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>