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).