Diff for /loncom/interface/loncoursedata.pm between versions 1.65 and 1.66

version 1.65, 2003/03/28 18:14:59 version 1.66, 2003/04/01 16:53:50
Line 1163  Each hash must contain at least the 'use Line 1163  Each hash must contain at least the 'use
   
 =back  =back
   
 Outputs: See the code for up to date information.  Outputs: See the code for up to date information.  A hash reference is
   returned.  The hash has the following keys defined:
   
 =over 4  =over 4
   
 =item $num The number of students attempting the problem  =item num_students The number of students attempting the problem
         
   =item tries The total number of tries for the students
         
   =item max_tries The maximum number of tries taken
         
   =item mean_tries The average number of tries
         
   =item num_solved The number of students able to solve the problem
         
   =item num_override The number of students whose answer is 'correct_by_override'
         
   =item deg_of_diff The degree of difficulty of the problem
         
   =item std_tries The standard deviation of the number of tries
         
   =item skew_tries The skew of the number of tries
   
 =item $tries The total number of tries for the students  =item per_wrong The number of students attempting the problem who were not
   able to answer it correctly.
 =item $mod The maximum number of tries taken  
   
 =item $mean The average number of tries  
   
 =item $Solved The number of students able to solve the problem  
   
 =item $solved The number of students whose answer is 'correct_by_override'  
   
 =item $DegOfDiff The degree of difficulty of the problem  
   
 =item $STD The standard deviation of the number of tries  
   
 =item $SKEW The skew of the number of tries  
   
 =back  =back
   
Line 1247  sub get_problem_statistics { Line 1251  sub get_problem_statistics {
     $solved = 0 if (! defined($solved));      $solved = 0 if (! defined($solved));
     #      #
     my $DegOfDiff = 'nan';      my $DegOfDiff = 'nan';
     $DegOfDiff = 1-($Solved + $solved)/$tries if ($tries>0);      $DegOfDiff = 1-($Solved)/$tries if ($tries>0);
   
     my $SKEW = 'nan';      my $SKEW = 'nan';
       my $wrongpercent = 0;
     if ($num > 0) {      if ($num > 0) {
         ($SKEW) = &execute_SQL_request($dbh,'SELECT SQRT(SUM('.          ($SKEW) = &execute_SQL_request($dbh,'SELECT SQRT(SUM('.
                                      'POWER(tries - '.$STD.',3)'.                                       'POWER(tries - '.$STD.',3)'.
                                      '))/'.$num.' FROM '.$stats_table);                                       '))/'.$num.' FROM '.$stats_table);
           $wrongpercent=int(10*100*($num-$Solved+$solved)/$num)/10;
     }      }
     #      #
     $dbh->do('DROP TABLE '.$stats_table);  # May return an error      $dbh->do('DROP TABLE '.$stats_table);  # May return an error
     return ($num,$tries,$mod,$mean,$Solved,$solved,$DegOfDiff,$STD,$SKEW);      return { num_students => $num,
                tries        => $tries,
                max_tries    => $mod,
                mean_tries   => $mean,
                std_tries    => $STD,
                skew_tries   => $SKEW,
                num_solved   => $Solved,
                num_override => $solved,
                per_wrong    => $wrongpercent,
                deg_of_diff  => $DegOfDiff }
 }  }
   
 sub execute_SQL_request {  sub execute_SQL_request {

Removed from v.1.65  
changed lines
  Added in v.1.66


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