Configuration Files

Gradem Home Config Files Installation Download

 

The system uses the following configuration files, of which only the grading key file is required.


Key File

The key file consists of: marks, blank lines, directive lines, and comment lines. A comment line begins with a # in column 1; comment and blank lines are ignored.

Directives are pseudo comments and begin with a #+. Such a directive specifies a required category and the number of points it is worth. The project points is the sum of the points given for each required category. In the example below, testCelsius.log and Celsius.java are required; the other categories are optional.

A mark line consists of 4 fields separated by a colon by default: category (file to be graded), a unique (within category) tag, points, and associated explanation. Except for the tag, these items should be expected. The system supports both additive and subtractive scoring; points are unsigned for additive scoring and negative for subtractive scoring. The author uses the latter. There should be no spaces in the first 3 fields.

The system assumes that the assessment phase has left log files in the student's directory, which files record the results of the assessment process. For each such file there should be a collection of entries in the key configuration file. This file can be created with a text editor. Additional entries can be dynamically added to the key using the egrade.py GUI script, just as in manual grading. Each key entry should correcspond to a logical deduction appropriate for the given file.

The tag is used for late binding of points and associated explanation, thus, simplifying re-grading.

A sample key file is:

# max grade    8

# late
late.log:1-day:-1:1 day late
late.log:2-day:-2:2 days late
late.log:3-day:-3:3 days late
late.log:4-day:-4:4 days late
late.log:5-day:-5:5 days late

#+ testCelsius.log  5
testCelsius.log:test72:-3:72 F = 22.22 C
testCelsius.log:test212:-2:212 F = 100 C

#+  Celsius.java  3
Celsius.java:comnt:-1:no comments
Celsius.java:naming:-1:poor naming; see textbook pp. 14-20
Celsius.java:other:-1:violation of style rules; see style guide


Name List File

The name list file is optional. It can be used to associate a student userid with an email address. Other fields might include the student's real name, their pair partner or teammates, etc.

A typical name list file used by the author is given below. There are 4 fields, separated by a colon: the student's name, userid, email address, and optional pair partner. The number of fields and their interpretation are controlled by the system configuration file.

Here is a sample file. Note the discrepancies between the userids and email addresses. Note also that some students are paired and others are not.

Adams:bladam:bladam@wm.edu:pmlowm
Arens:pmaren:pmaren@wm.edu
Bannister:ikoma:ptbann@wm.edu:phil
Beaver:sbeav:dsbeav@wm.edu
Blessing:edbles:edbles@wm.edu
Lowman:pmlowm:pmlowm@wm.edu:bladam
Maddox:phil:pamadd@wm.edu:ikoma
Manweiler:jgmanw:jgmanw@wm.edu
Maston:jlmast:jlmast@wm.edu
 


System Configuration File

The system configuration file controls most aspects of the system. The file is used by every script. Default options are defined in the library support script gradelib.py. It is the authors experience that the defaults defined in gradelib.py should be modified at installation time.

The file egrade.cfg for a given project or course can be used to override the system defaults. As with the other configuration files, this file consists of comment lines, blank lines, and system directives. A comment line begins with a # in column 1; comment and blank lines are ignored.

A system directive line consists of 2 fields separated by a colon:

option : value
'
without spaces.

The options controlled fall into the following categories:

The most common options used be me are the following:

pair:3
# if present in namelist.cfg, the other member of a pair

group:noonangr
# my grader group

tabsize:4
# used by eclipse

width:80
keyheight:20
logheight:40
# dependent on monitor size and resolution
# length of key relative to log
# width of output

# font:
# depends on monitor size and your eyesight


Robert Noonan
Mar 7, 2006