## Forum archive 2000-2006

### Arnold K. Pizer - Grading problem sets

by Arnold Pizer -
Number of replies: 0
 Grading problem sets topic started 4/27/2000; 3:57:02 PMlast post 4/27/2000; 3:57:02 PM
Arnold K. Pizer - Grading problem sets
4/27/2000; 3:57:02 PM (reads: 3588, responses: 0)

## Instructions for running procedures for grading WeBWorK problem sets

### Quick Overview

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 s5scr.csv and s5ful.csv which are comma delimited ascii text files. These files can be imported into (and exported 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 this problem. 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 example MTH140A_totals.csv. You should almost always accept the default. Records for students who have been added or dropped the course are handled automatically.

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.

### The Scripts

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. alternateScoreProbSet.pl

The results obtained by running the scoring procedures from the web should be identical to those obtained using the alternateScoreProbSet.pl 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 rebuildProbSetDBfromPSVNlog.pl) after deleting the damaged problem set and then use alternateScoreProbSet.pl to recover student scores for the damaged problem set.

alternateScoreProbSet.pl

Takes two command line arguments. The first is the classID. The second is the set definition file.
E.g. scoreProbSet.pl MTH140A set5.def.
Creates the data sets s5scr.csv and s5ful.csv. 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.

columnPrint.pl

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).
E.g. 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.

recoverDataSet.pl

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.
E.g. recoverDataSet.pl MTH140A s5bak3  .
Produces new versions of the corresponding ful and scr files, e.g. s5ful.csv and s5scr.csv. Every time scoreProbSet.pl MTH140A 5  is run, a read-only backup file s5bak1.csv or s5bak2.csv or ... is created. Normally, scoreProbSet.pl 5 will be run only once and recoverDataSet.pl s5bak1 would only be run if the files s5ful.csv and 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.

### The Files

Running the scoring procedure creates the files

• ${scoringDirectory}s${SetNumber}ful.${DAT}${scoringDirectory}s${SetNumber}scr.${DAT}

${scoringDirectory}s${SetNumber}bak#.${DAT} Leaving the check box for "Append totals ..." checked (the default) creates (or appends to) the file •${scoringDirectory}${classID}_totals.${DAT}

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 and incorrectly.

<| Post or View Comments |>