version 1.66, 2003/09/03 18:23:10
|
version 1.71, 2003/10/21 21:23:53
|
Line 200 sub BuildStudentAssessmentPage {
|
Line 200 sub BuildStudentAssessmentPage {
|
# are immediately reflected in the chart. |
# are immediately reflected in the chart. |
&Apache::lonnet::clear_EXT_cache_status(); |
&Apache::lonnet::clear_EXT_cache_status(); |
# |
# |
|
# Clean out loncoursedata's package data, just to be safe. |
|
&Apache::loncoursedata::clear_internal_caches(); |
|
# |
# Call the initialize routine selected above |
# Call the initialize routine selected above |
$initialize->($r); |
$initialize->($r); |
foreach my $student (@Students) { |
foreach my $student (@Students) { |
Line 455 my @OutputDataOptions =
|
Line 458 my @OutputDataOptions =
|
( |
( |
{ name => 'Scores', |
{ name => 'Scores', |
base => 'scores', |
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', |
|
value => 'sum and total', |
value => 'sum and total', |
shortdesc => 'Total Score and Maximum Possible for each '. |
shortdesc => 'Total Score and Maximum Possible for each '. |
'Sequence or Folder', |
'Sequence or Folder', |
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 490 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 931 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 1407 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 1514 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 = '*'; |
} |
} |