Gradem Home Config Files Installation Download


The Gradem electronic marking system currently consists of the phases given below: marking, review, and return. Each phase is supported by scripts written in Python.

Two phases are assumed to preceed the use of this system:

  1. Delivery phase: in which the students deliver their work product to be marked. THis can be accomplished using: try, turnin, email, submit, Blackboard, etc.

  2. Assessment phase: in which the students programs are compiled, tested, analyzed, checked for plagirism, etc. Tools include: shell scripts, moss, JUnit, PMD, etc.

These preliminary phases generate information, stored in files, which must manually have numeric scores attached. All of this is discusssed in Noonan [2006]. A good paper which discusses how to grade is Levine and Walker [2006].

Marking Phase

The purpose of the marking phase is to attach marks to log files, called categories. Instances of the latter include: program source files, results of test runs, etc.

Scripts include:

Review Phase

The purpose of this phase is to prepare the marked student materials for electronic return and to allow review before return. The system supports late binding in that the marks are replaced by the information associated with the mark in the grading key. Thus, explanatory comments can be changed, points increased or decreased by modifying the grading key and rerunning

Scripts include:

Return Phase

The purpose of this phase is to electronically return each student's marked work product and to collect the grades into a format suitable for loading into a spreadsheet.

Scripts include:

Support Library


  1. Robert E. Noonan. The back end of a grading system. SIGCSE Technical Symposium on Computer Science Education, (March 2006), pp. 56-60.

  2. David Levine and Henry Walker. XP practices applied to grading. SIGCSE Technical Symposium on Computer Science Education, (March 2006), pp. ??-??.

Robert Noonan
Mar 6, 2006