2013 – Grade System (FH JOANNEUM)

Since I began teaching 3D Graphics and Animation at Information Design in 2008, I have continually been searching for a fair, consistent and transparent way of grading students' works. Also, providing meaningful feedback is very important to me.

Every year, I receive works of 60-70 students for grading, which consist of various images and movie clips. Initially, I used Excel sheets for calculating points and writing feedback, but that soon proved too time consuming and unintuitive. While looking at current grading systems (i.e. Moodle), I realized that all of them were either very complicated, needed tedious single uploading of every workpiece to a server or did not provide a live view of the works while grading. That was when I began writing my own software to ease the process.

I wanted the software to be truly platform-independent, since I am using Windows, Mac OS X and Linux in the office. The software also had to store its data only once and make all of its user interface available from everywhere: perfect conditions for a web service. Since its inception in 2009, my grade system has undergone several revisions and new features are continually being added.

Data Storage

The system does not use a traditional database for storage. All of the data is being stored as text files on the server hard drive. This has the advantage of being able to make full backups of the system by just copying the hosting directory from the server. This kind of direct access also allows for native file system management, i.e. renaming or moving files and directories.

Preparing a Course for Grading

When students' works are coming in, I put them into named directories for each student, where they will be found and indexed by the software. The most recent version of the software has a LDAP connection and fetches course information from the company's AD server, automatically creating directories for each student in the course. An overview shows details about all existing years and courses, which students have handed in their works (and which haven't), awarded points and detailed grading information. In this overview, single courses can be isolated and printed (with their own print CSS), to provide the grades to the course administration, once everything is done. The interface also provides a function to generate feedback emails from a template, one for each student, with their feedback PDF attached (see below). These .eml files can then be imported into mail applications like Mozilla Thunderbird, checked and sent in bulk.

The Grading Process

Each course has a criteria list and a grade table. These files are stored as CSV-text to allow easy editing and copying between courses. From these files, the grades can be automatically calculated for each student, after the criteria have been filled in.

Clicking on a student's name on the overview opens the grading view. On the left side, a HTML form is generated from the criteria list. On the right side, all works are displayed.

Automatically Converting Works for Browser Display

Browsers can only display a small handful of file formats natively and embedded into a page: JPEG, GIF, PNG and a few video formats. All other file formats have to be converted first. The grade system uses OS calls to accomplish this for a wide range of image formats and archives. This way, ZIP files are unpacked, TIFF, PSD, other image formats and even PDFs are converted to JPG completely automatically.


The actual grading work is now reduced to ticking checkboxes and radio buttons and filling in text fields occasionally. On top of the form, there is a small section that uses JavaScript and AJAX calls to display a live grade view that updates itself every time any of the criteria fields is changed. This double view significantly improves the process for me, both in quality and speed. Once grading is done, the form can be saved - another CSV file is generated inside that student's directory that stores all of the awarded points and text comments. This file is then used to calculate the final grade, which is visible on the overview.

Generating Feedback

The grading page has its own CSS for printing: either to paper or – in my case – to a PDF. This PDF contains all of the grading form and works attached, so there won't be any confusion about what was actually graded – optimal transparency. Back on the overview, emails with these PDFs attached can be generated for the whole course, which makes reviewing and dispatching the feedback easier for me.

The Future

The system is designed to be multi-user capable: every teacher gets their own directory with years, courses, criteria lists, grade tables and student works. Currently, I am the sole user of the system, but colleagues have shown strong interest in trying it out.