Diff for /loncom/interface/statistics/lonstudentassessment.pm between versions 1.65.2.1 and 1.72

version 1.65.2.1, 2003/10/03 15:37:29 version 1.72, 2003/10/22 15:38:11
Line 140  sub BuildStudentAssessmentPage { Line 140  sub BuildStudentAssessmentPage {
     my ($r,$c)=@_;      my ($r,$c)=@_;
   
     undef($Statistics);      undef($Statistics);
       undef($show_links);
       undef($output_mode);
       undef($data);
       undef($base);
       undef($datadescription);
       undef($single_student_mode);
   
     $single_student_mode = 0;      $single_student_mode = 0;
     $single_student_mode = 1 if ($ENV{'form.SelectedStudent'});      $single_student_mode = 1 if ($ENV{'form.SelectedStudent'});
Line 450  sub CreateAndParseOutputSelector { Line 456  sub CreateAndParseOutputSelector {
 ##  ##
 my @OutputDataOptions =  my @OutputDataOptions =
     (      (
      { name  => 'Scores',       { name  => 'Scores Summary',
        base  => 'scores',  
        value => 'scores',  
        shortdesc => 'Score on each Problem Part',  
        longdesc =>'The students score on each problem part, computed as'.  
            'the part weight * part awarded',  
        },  
      { name  => 'Scores Sum',  
        base  => 'scores',  
        value => 'sum only',  
        shortdesc => 'Sum of Scores on each Problem Part',  
        longdesc =>'The total of the scores of the student on each problem'.  
            ' part in the sequences or folders selected.',  
        },  
      { name  => 'Scores Sum & Maximums',  
        base  => 'scores',         base  => 'scores',
        value => 'sum and total',         value => 'sum and total',
        shortdesc => 'Total Score and Maximum Possible for each '.         shortdesc => 'Total Score and Maximum Possible for each '.
Line 472  my @OutputDataOptions = Line 464  my @OutputDataOptions =
        longdesc => 'The score of each student as well as the '.         longdesc => 'The score of each student as well as the '.
            ' maximum possible on each Sequence or Folder.',             ' maximum possible on each Sequence or Folder.',
        },         },
      { name  => 'Scores Summary Table Only',       { name  => 'Scores Per Problem',
        base  => 'scores',         base  => 'scores',
        value => 'final table scores',         value => 'scores',
        shortdesc => 'Summary of Scores',         shortdesc => 'Score on each Problem Part',
        longdesc  => 'The average score on each sequence or folder for the '.         longdesc =>'The students score on each problem part, computed as'.
            'selected students.',             'the part weight * part awarded',
        },         },
   #     { name  => 'Scores Sum',
   #       base  => 'scores',
   #       value => 'sum only',
   #       shortdesc => 'Sum of Scores on each Problem Part',
   #       longdesc =>'The total of the scores of the student on each problem'.
   #           ' part in the sequences or folders selected.',
   #       },
   #     { name  => 'Scores Summary Table Only',
   #       base  => 'scores',
   #       value => 'final table scores',
   #       shortdesc => 'Summary of Scores',
   #       longdesc  => 'The average score on each sequence or folder for the '.
   #           'selected students.',
   #       },
      { name  =>'Tries',       { name  =>'Tries',
        base  =>'tries',         base  =>'tries',
        value => 'tries',         value => 'tries',
Line 487  my @OutputDataOptions = Line 493  my @OutputDataOptions =
        },         },
      { name  =>'Parts Correct',       { name  =>'Parts Correct',
        base  =>'tries',         base  =>'tries',
        value => 'parts correct',  
        shortdesc => 'Number of Problem Parts completed successfully.',  
        longdesc => 'The Number of Problem Parts completed successfully'.  
            ' on each sequence or folder.',  
        },  
      { name  =>'Parts Correct & Maximums',  
        base  =>'tries',  
        value => 'parts correct total',         value => 'parts correct total',
        shortdesc => 'Number of Problem Parts completed successfully.',         shortdesc => 'Number of Problem Parts completed successfully.',
        longdesc => 'The Number of Problem Parts completed successfully and '.         longdesc => 'The Number of Problem Parts completed successfully and '.
            'the maximum possible for each student',             'the maximum possible for each student',
        },         },
      { name  => 'Parts Summary Table Only',  #     { name  =>'Parts Correct',
        base  => 'tries',  #       base  =>'tries',
        value => 'final table parts',  #       value => 'parts correct',
        shortdesc => 'Summary of Parts Correct',  #       shortdesc => 'Number of Problem Parts completed successfully.',
        longdesc  => 'A summary table of the average number of problem parts '.  #       longdesc => 'The Number of Problem Parts completed successfully'.
            'students were able to get correct on each sequence.',  #           ' on each sequence or folder.',
        },  #       },
   #     { name  => 'Parts Summary Table Only',
   #       base  => 'tries',
   #       value => 'final table parts',
   #       shortdesc => 'Summary of Parts Correct',
   #       longdesc  => 'A summary table of the average number of problem parts '.
   #           'students were able to get correct on each sequence.',
   #       },
      );       );
   
 sub HTMLifyOutputDataDescriptions {  sub HTMLifyOutputDataDescriptions {
Line 588  sub html_initialize { Line 594  sub html_initialize {
     $padding = ' 'x3;      $padding = ' 'x3;
     $count = 0;      $count = 0;
     $nodata_count = 0;      $nodata_count = 0;
       undef(%prog_state);
     #      #
     $r->print("<h3>".$ENV{'course.'.$ENV{'request.course.id'}.'.description'}.      $r->print("<h3>".$ENV{'course.'.$ENV{'request.course.id'}.'.description'}.
               "&nbsp;&nbsp;".localtime(time)."</h3>");                "&nbsp;&nbsp;".localtime(time)."</h3>");
Line 839  my $request_aborted; Line 846  my $request_aborted;
 sub excel_initialize {  sub excel_initialize {
     my ($r) = @_;      my ($r) = @_;
     #      #
     $request_aborted = undef;      undef ($excel_sheet);
       undef ($excel_workbook);
       undef ($filename);
       undef ($rows_output);
       undef ($cols_output);
       undef (%prog_state);
       undef ($request_aborted);
       #
     my $total_columns = scalar(&get_student_fields_to_show());      my $total_columns = scalar(&get_student_fields_to_show());
     foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()) {      foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()) {
         # Add 2 because we need a 'sum' and 'total' column for each          # Add 2 because we need a 'sum' and 'total' column for each
Line 920  END Line 934  END
     #      #
     # Add a worksheet      # Add a worksheet
     my $sheetname = $ENV{'course.'.$ENV{'request.course.id'}.'.description'};      my $sheetname = $ENV{'course.'.$ENV{'request.course.id'}.'.description'};
     if (length($sheetname) > 31) {      $sheetname = &Apache::loncommon::clean_excel_name($sheetname);
         $sheetname = substr($sheetname,0,31);  
     }  
     $excel_sheet = $excel_workbook->addworksheet($sheetname);      $excel_sheet = $excel_workbook->addworksheet($sheetname);
     #      #
     # Put the course description in the header      # Put the course description in the header
Line 1176  sub csv_initialize{ Line 1188  sub csv_initialize{
     my ($r) = @_;      my ($r) = @_;
     #       # 
     # Clean up      # Clean up
     $filename = undef;      undef($outputfile);
     $outputfile = undef;      undef($filename);
       undef($request_aborted);
     undef(%prog_state);      undef(%prog_state);
     #      #
     # Deal with unimplemented requests      # Deal with unimplemented requests
Line 1395  sub StudentTriesOnSequence { Line 1408  sub StudentTriesOnSequence {
                 } elsif ($status eq 'excused') {                  } elsif ($status eq 'excused') {
                     $symbol = 'x';                      $symbol = 'x';
                     $max--;                      $max--;
                 } elsif ($status eq 'correct_by_student' &&                  } elsif (($status eq 'correct_by_scantron' ||
                             $status eq 'correct_by_student') &&
                     exists($resource_data->{'resource.'.$partnum.'.tries'})){                      exists($resource_data->{'resource.'.$partnum.'.tries'})){
                     $tries = $resource_data->{'resource.'.$partnum.'.tries'};                      $tries = $resource_data->{'resource.'.$partnum.'.tries'};
                     if ($tries > 9) {                      if ($tries > 9) {
Line 1502  sub StudentPerformanceOnSequence { Line 1516  sub StudentPerformanceOnSequence {
             my $awarded = 0;              my $awarded = 0;
             if (exists($resource_data->{'resource.'.$part.'.awarded'})) {              if (exists($resource_data->{'resource.'.$part.'.awarded'})) {
                 $awarded = $resource_data->{'resource.'.$part.'.awarded'};                  $awarded = $resource_data->{'resource.'.$part.'.awarded'};
                   $awarded = 0 if (! $awarded);
             }              }
             #              #
             $partscore = $weight*$awarded;              $partscore = $weight*$awarded;
             $score += $partscore;              $score += $partscore;
             $symbol = $partscore;               $symbol = $partscore; 
               if (abs($symbol - sprintf("%.0f",$symbol)) < 0.001) {
                   $symbol = sprintf("%.0f",$symbol);
               }
             if (length($symbol) > 1) {              if (length($symbol) > 1) {
                 $symbol = '*';                  $symbol = '*';
             }              }

Removed from v.1.65.2.1  
changed lines
  Added in v.1.72


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