Monday, January 21, 2013

Moss, Every CS Graders Best Friend

This term I have the exciting opportunity to be a grader for my favorite class so far in my formal CS education. It was the final class in the main track teaching C++/Java/Object Oriented Design. It was affirming to spend time polishing the fundamentals of these languages because it gave me the opportunity to reflect in how much I have learned. And the design process for increasingly complicated programs is proving to be a very satisfying experience.

I jumped at the opportunity because, as a grader, I will be able to pour over a immense amount of code. It's fun to explores various solutions and perspectives to the same problem; while also expanding my own frame of reference for approaching a problem.

There is a dark side to grading code. Plagiarism is extremely tempting because of the convenience with which is can be done. A software engineer at work, who also has experience grading, directed me to a plagiarism detection tool that Stanford facilitates: Moss (Measure Of Software Similarity).

It scans code, and generates a report on similarities between any number of source files. The algorithm is more sophisticated then just a line by line text comparison. It's actually looking for patterns (renaming variables and functions would be a vain effort) and rules out content that is expected to be similar (such as a common library).

It allows me to spend more of my time giving thorough feedback to the genuine effort of many, because I don't have to spend as much time weeding out the plagiarism of a few.

I did run in to some issues getting my Moss user ID generated. The instructions are rather terse, and the first time I sent the request I received no response. After a few more attempts I learned the trick is to make sure the email is in plain text (If you copy and paste the html text from the site the request won't go through).

No comments: