MarkUs Blog

MarkUs Developers Blog About Their Project

Archive for the ‘OLM’ tag

Developing a Rubric for OLM on Rails

with 2 comments

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.



Written by m_conley

October 8th, 2008 at 12:43 pm

Posted in Uncategorized

Goodbye WebObjects, Hello Rails

without comments

It’s officially over. With five weeks left, I’m done doing WebObjects development for Web-CAT, and switching to a new project.  The powers-that-be have decided to focus on OLM instead and supplementing it with features that it lacks.  For now, this would involve taking over student submissions and group associations that would work in parallel with OLM.  It’s pretty rare to start a project from scratch, so I really want to tread carefully with design and testing on the forefront, especially that this is my first time using RoR as well.

Developing this on RoR would serve two purposes.  Since I only have five weeks left, we need some rapid prototyping environment to put this all together and have something to show at the end of summer to see if our understanding of submission and group workflow does indeed work.  The second purpose is to quickly assess if RoR is indeed a suitable platform for us given the requirement of plugability for the features that we want.  If all of this works by the end of summer, we could then perhaps start porting OLM bit by bit over to the rails application.

It’s a bittersweet goodbye, but we learn what we can from our mistakes and hope to do better the second time around.

Written by Geofrey

July 16th, 2008 at 5:19 pm

Posted in Uncategorized