Procedures are provided for recording problem set grades. For example
running the scoring procedures from the web to score Set 5 will
create data sets
which are comma
delimited ascii text files. These files can be imported into (and
from) a spread sheet program (such as Excel) or database program where
they can be viewed, edited, and manipulated. Also if "Append totals
..." is checked (the default), the totals from Set 5 will be appended
to the file MTH140A_totals.csv. This file can be used to conveniently
tabulate semester score.
s5scr.csv contains the studentID, student name, section,
and for each
problem a number between 0 and 1 inclusive indicating
the "partial credit" a student has earned on that problem. This is then
multiplied by the problem value to determine the student's score for
s5ful.csv contains the studentID, student name, section, and
for each problem the total number of times the student answered the problem
correctly and the total number of times the student answered the problem
incorrectly. In addition there are scripts for running various
data recovery routines, etc.
Typically an instructor will first score the first problem set.
If you accepts the default action, the scores in the score file for
this set will be totaled
and these totals will be appended to the cumulative totals file, in our
MTH140A_totals.csv. You should almost always accept the default.
Records for students who have been added or dropped the course are
The procedure is repeated for each problem set.
The MTH140A_totals.csv file contains
the total score for each set for each student.
The Send Mail routine can be used to easily send all students
informaton on their homework scores.
The sccoring files are placed
in the scoring directory.
At the end of the semester, the MTH140A_totals.csv file can be used
to compute homework (or WeBWorK) grades. It is also easy to enter exam grades, etc.
into this file at any time (e.g. with Excel)
so that this file can be used for all grading for the course. If one does so, one can use Send Mail to
easily send all students informaton on their exam scores and grades, etc.
As a .cvs (comma delimited file) the MTH140A_totals.csv file is in a standard Excel format.
The file can be imported into Excel, processed
(e.g. exam grades could be added, grades for the semester computed, etc.), and then exported.
It's format will be maintained by Excel so that one can continue using the above scoring procedure.
Except for the "fail safe" error recovery scoring scripts, all scoing operations can be done from the Scoring Page over the web.
Running any script with no parameters will display an error message
giving the correct syntax for the script. E.g.
The results obtained by running the scoring procedures from the web should be identical to
those obtained using the
which uses information in the .sco files and the set definition file.
However, if someone has deleted problems, changed problem values, etc.
on the Prof page without making similar changes in the set definition
file, results may differ. If the database gets corrupted or destroyed,
one can rebuild the database (using
after deleting the damaged problem set and then use
recover student scores for the damaged problem set.
Takes two command line arguments. The first is the classID. The second is the set
scoreProbSet.pl MTH140A set5.def.
Creates the data sets
Similar to scoreProbSet.pl except that this scripts gets data from the .sco files
instead of from the database. Also the list of problems and their
respective values are taken from the set definition file.
Used only when the database has become corrupted or lost.
Takes two command line arguments. The first is the full filename of
the input file. The second is the full filename of the output file
(which may be the same as the input file).
columnPrint.pl 140atotal.csv 140atotal.csv
Takes a delimited input
file and outputs it so that all columns line up. NOTE: The input file
can be any delimited file, so a file extension such as .csv is not assumed.
Takes two command line argument.The first is the classID. The second
is the filename (with or without the extension) of the backup data file, e.g. s5bak3.
recoverDataSet.pl MTH140A s5bak3 .
Produces new versions of the corresponding ful and scr files, e.g.
s5scr.csv. Every time
5 is run, a read-only backup file
or ... is created. Normally,
scoreProbSet.pl 5 will be
run only once and
recoverDataSet.pl s5bak1 would only be run if
s5scr.csv were severely corrupted or
if the professor wanted to recover the scoring information as it existed at the time
s5bak1.csv was created, i.e. the first time (since it's bak1) the set 5 was scored.
Running the scoring procedure creates the files
Leaving the check box for "Append totals ..." checked (the default) creates (or appends to) the file
Here bak# is bak1, bak2, ... . Also the directory $scoringDirectory
(default .../scoring/) and the file extension $DAT (default csv for coma
delimited file) are defined in the header file WeBWorK.ph. $SetNumber
(which can be any standard name, e.g. 5, 5a, 5new, or Exam2 but can not contain spaces, etc.)
is defined in the set definition
file (e.g. in set5.def). The bak files are "failsafe" backup
files which can be used by the recoverDataSet.pl script.
In addition, error, warning, and scoring informational messages are
appended to the file $scoringDirectory/scoring.log .
Finally, three backup versions of the ful, scr, and totals files are kept, e.g.
s5fulx.csv, s5fuly.csv, and s5fulz.csv with s5fulx.csv being the most recent.
Any script which modifies e.g. s5ful.csv first updates and/or creates the
x, y, and z versions.
Structure of the Files
Knowledge of the structure of the files is only necessary if the instructor
wishes to modify the files with an editor or spread sheet. The necessary
structure will be automatically maintained (within reason) if all editing,
etc. is done by first importing the file as a coma delimited (.csv) file
into a spread sheet such as Excell, modifying the file within Excell, and
then saving the file as a coma delimited (.csv) file.
All the ful, scr, totals, and bak# files are ascii text files. There are only
two consistency requirements:
- Every line must contain the same number of delimiters, e.g. comas if
$DELIM = ","
Every line must have a distinct first field. Typically, this means
that all students must have unique studentID's
If these consistency requirements are violated, the scripts will exit
with an error message indicating the source of the consistency violation.
We consider every line to be a record containing fields separated by
delimiters. A consequence of the above consistency requirement is that
no field can contain a delimiter (i.e. no field can contain a coma if $DELIM
The first 7 lines of the files are reserved for specific information
(e.g. problem numbers). The most important line is the sixth line of the
scr file, e.g.
PROB VALUE, , , ,10,10,10,5,1
which indicates that the corresponding problems have values 10, 10,
10, 5, and 1. For a "totals" column, the PROB VALUE row value indicates the
sum of the values of all the problems in the set (i.e. the maximum possible score).
They are originally defined in the set definition file, e.g.
set5.def. For example editing the above fifth line so that it reads
PROB VALUE, , , ,10,0,10,5,1
would mean that totaling points would ignore any scores for the
2nd problem. If an instructor wishes to enter exam grades into a scr file,
e.g. into MTH140A_totals.csv, he or she would typically append a column with prob
value 1 and entries the exam scores to the MTH140A_totals.csv file. If an instructor
wishes to enter comments, he or she would typically append a column with
prob value 0 and entries whatever comments the instructor wishes to make
(as long as the comment contains no delimiters).
Entries of the Files
The scoring procedures automatically handle the case where a student
adds or drops the course part way through the semester, i.e. when a student
is added to or dropped from the class list database or the student's
status in the class list is changed (e.g. to "drop"). Unless blank, the
individual entry in a scr file is a number between 0 and 1 inclusive indicating
the "partial credit" a student has earned on that problem. This number is multiplied
by the problem value (then rounded) and the result is the students score on that problem.
These scores are sumed and reported in the total column and in the totals file.
A one (1) in a scr file indicates
that a student answered the problem correctly. A zero (0) in a scr or totals file
indicates that a student was on the class list when the problem set was
built and either never attempted the problem or never answered the problem
correctly (the entries in the ful file can distinguish between these two
possibilities). A blank ( ) in a scr or totals file indicates that a student was
not on the class list (or had drop status) when the problem set was built. Blanks
in the ful files have similar meaning and the numbers in the ful files
indicate the total number of times the student answered the problem correctly