Taken from Flickr
In case you have not realised it yet, I’m a pretty prolific reader. Online reading (and having an iPad) have slowed down the number of books I read in a given year, and I don’t go to the lengths of my girlfriend (who is about to reach her goal of reading 102 books in this year,) I’m nevertheless a frequent reader.
This year I’ve read several good books that I’d like to share with you, after all, if you are reading this probably our tastes overlap.
As I said in a previous post, I am looking for some way to detect copied code. I have now a working prototype of a “code juicer”. From a C file it creates a set of PostScript files (well, almost, as they need postprocessing) which are later processed and selected to print. As an example, here is the output applied to a Runge-Kutta-Fehlberg 4-5.
It is something like an execution tree, with function calls squared, and different slopes for if, for, while clauses.
Pieces of an ENIGMA machine, from Flickr
Assume you have a set of alumni, which are due an individual programming assignment. All have the same assignment (as it is hard to come up with several), and it is hard enough that copying from each other passes for everyone’s mind. As a teacher, how do you detect this?
From my point of view, there are fundamentally two different kinds of copy: