Archive for the ‘tests’ tag
Hey all – I’m Mike, and I’ve just started working on the OLM on Rails project. My first task is to develop the Rubric models, controllers, and user experience, and I’m going to share some musings on it.
Ok, so first off, here’s the idea: A professor creates an Assignment, and has to have a marking scheme to go along with it. The Rubric that she develops will be used by the TA’s to mark the assignments. Sounds pretty simple.
I’m still getting my thinking wrapped together here, so I’m just going to muse for a bit. Here are some thoughts, rules, and caveats:
- Creation of a Rubric is a separate event from creating an Assignment. So if an Assignment exists, it does not imply that an associated Rubric exists yet
- A Rubric consists of an arbitrary number of criteria to grade the student
- Each criterion has a weight assigned to it (ie: 0.25, 0.5, etc)
- Each criterion has a number of levels that can be achieved by a student. By default, these levels are 0, 1, 2, 3, and 4 – with 0 being the worst performance, and 4 being the best. We’re considering having the ability to add additional levels, to improve flexibility
- An assignment cannot be marked until a Rubric has been created
- A Rubric is not valid unless all of the weights of its criteria sum to 1.0 (100%)
- The total number of marks achievable on an Assignment equals the sum of each criterion weight, multiplied by the maximum level of that criterion. This does not include possible bonus marks, which are not handled by the Rubric
- Assigning weights to criteria is going to be a little tricky, interface-wise. While it’s tempting to just use a simple text-box, and trust the user to input the weights manually, it’d be nice for something a little more elegant and user friendly.
- Some professors may want a simpler way of inputting this information quickly, for instance, by uploading a file describing what they want. Andrew has suggested that users upload a YAML file… something worth thinking about.
That’s all I’ve really got rolling in my head about it right now.
So, what have I done? I’ve created two new models: RubricCriteria and RubricLevel. A RubricCriteria is assigned to a single Assignment. A RubricLevel is assigned to a single RubricCriteria. Piece of cake.
I’ve also created some basic unit tests for these models. I think I’m going to start thinking about user interfaces now, because I think it will give me some hints on what I’ll want the Controller to do. I might upload some of my sketches later.