Visigrade, a grade visualizer

Back to home page

Loading grades

Visigrade has two ways of reading grades from the user.

The file format Visigrade looks for is a separate grade on each line. Any additional information on the line is ignored. (I save grades in files with grades in the first column and names in the second column.)

Customizing the drawing

To modify a text-field parameter, type the desired value into the text field and press Enter.

The various parameters are as follows.

How the graph is produced

You don't have to understand this to use Visigrade, but in case you're curious, this is how it produces its graph.

To draw the graph over the entire class, Visigrade assigns a curve to each individual student and draws the sum of these curves over all the students of the class. The curve assigned to the student is a normal curve (aka a Gaussian distribution, aka a bell curve). Suppose the student has a score of z. Then the student's curve is as follows.

f(x) = e-((x - z) / s)2
where e is Euler's number 2.71828... and s is the configured slush value.

Intuitively, this is a good choice for the function, as it would make sense that if you have many identical students take the same test, their scores should fall onto a normal curve like this. Adding these curves together has the desirable property that each student contributes an equal amount to the area under the entire curve.

Since the y-values computed according to this function are meaningful only in their relation to each other, Visigrade will scale the graph vertically to fit the available area.

Producing the graph

Via the File menu, you can either print the graph or produce a GIF file showing the graph (suitable for inclusion on a Web page).