28 comments

[ 1.6 ms ] story [ 94.7 ms ] thread
I find it hilarious that people have to resort to personal attacks to defend the fact that they were obviously cheating.
I like the pdf; they should run this program at the Chinese university I'm at. It'd be a complete graph. :)
I find infrographics like this fascinating, anyone know what app this was made in?
I'm guessing graphviz (just because it's popular), but the layout algorithm could have been better. The structure of the two big components is difficult to take in at a glance.

It's a hard problem, sure, but the simple circo algorithm really only works for trees and highly-connected graphs with components, and even then is a little misleading.

I've seen first hand how someone can be falsely accused of plagiarism because they had a solution that just happened to be similar to another student's solution. Two high school friends in my CS program had learned programming together and had a very similar coding style. They were put in the difficult position of having to prove a negative -- that they didn't cheat -- before an ethics commmittee.

Anyway, seems a bit unfair to post these usernames publicly.

(That said, the people defending their actions with phrases like "working together" and "helping each other" probably need to reread their department ethics policy)

The visualization is pretty nice. I'd be inclined to give a pass to the 2-person clusters -- unless similarity was 100%. But look at some of those clusters.. that's not coincidence or even just "helping someone out".
Ah, but a cluster doesn't mean they all collaborated with each other. For example, take a look at the big one in the middle: 3 identical ones and one pretty close, for a 4-person clique. Chances are that there are actually 3 connections instead of 6 - two collaborated, one shared with a friend, the other helped a friend by spelling out the pseudocode.
I always loved the way every engineering degree teaches you that the most important thing is that you must never work with another student, copy existing work or collaborate in any way.

Thats what industry demands - engineers that must work totally in isolation.

Of course it's not as bad as my PhD where I had to sign a disclaimer that it was entirely my own work and not the result of any collaboration or group effort. This as for an experiment at CERN that had about 10,000 people working on it!

They aren't being paid to come to an engineering solution. They are paying to learn and get a degree. Which problem has an entirely different solution space. And probably doesn't include "steal/borrow/buy problem solutions and learn nothing, graduating in 4 years to design crap that kills people"
Then design courses and exams/projects so that team work is the way to do it right. They are paying to learn how to be engineers - the most important part of any engineering project is collaboration, teamwork and project management - not memorising Von-Whatsits formula for strength of a beam

I don't want a new engineer who thinks it's cheating to look up the strength of a beam in a handbook!

One step at a time. Learning to do each skill is confounded using "teamwork" when that simply means one guy does all the work.
I teach. There is a huge difference between "some students worked together and submitted similar labs" vs "some students handed in exactly the same thing featuring the same obscure errors and same random whitespace inconsistencies, save for some lame cut-and-paste and search/replace differences obviously intended to conceal blatant plagiarism". It's not that the answers are similar, it's that all the mistakes are identical right down to each sporadic extra space.

Think: several students handing in the same "what did you do last weekend" essay - even if they spent the entire weekend together, their submissiions should not be the same text right down to dotting a particular 'i' with a tiny heart.

(comment deleted)
Sounds like a "warning shot", issued to scare lazy students into giving a crap and actually learning the stuff.
I don't know if publishing such a graph is a good idea. Imagine a jealous girlfriend going through some of those 2-person clusters and finding you there with some other girl. Besides, sometimes students just steal each other's work. I once caught a pair of students with two identical homework reports (me being a TA). It turned our the guy has stolen the homework solution from his classmate/girlfriend. She was not guilty. He was. In such a case, openly accusing both parties of cheating on the homework is just not fair.
This unit is horrible, I failed it last year. I got 49%.

When I asked Arcady Dyskin about the blatant plagiarism that I should have taken a part of to pass he simply told me "Cheating has been part of student culture for thousands of years".

So the unit co-ordinators have been releasing the same assignments for 600 students each year.

Here's the professor at UWA that's mentioned above: https://www.socrates.uwa.edu.au/Staff/StaffProfile.aspx?Pers...

Sorry to say, but there is an attitude in Russia that cheating is OK, but getting caught is not. It's even more unfortunate that this attitude persisted throughout this guy's academic career.

To be fair we don't know if this claim is true or not, I certainly doubt any lecturer at UWA condones plagiarism.

(Also thanks HN for changing the thread title, though it does sound a little harsh towards UWA)

The questions in my first (And even some second year) comp sci classes were so trivial, and java so verbose, that it would be impossible NOT to have the same code as someone else.

Granted, if those percentages are obtained by, say, diffing the files, I'd be more inclined to take this seriously. I'm so anal about my spacing and brace placement that when I google for a code snippet to do X or Y (at my job, not my school of course), I change the spacing and braces to suit my OCD.

They are obtained by simple diffing. 100% means a character-for-character match for all of the code. This means that the student didn't even bother changing their name and student ID written at the top of the code in the comments.
In reality it is so difficult to identify honest-to-goodness plagarism in comp sci. For instance, in my algorithms courses, wikipedia was super useful. Most significant algorithms (e.g. quicksort) have a pseudo-code implementation, and when you look them up, it's really hard work to NOT make yours look identical. How do you deal with that situation?

Answer: you deal with it in the way my algo prof did. We implemented algorithms so we could compare performance. So he'd say, for instance, "write libraries in C to implement a binary, ternary, and quaternary heap. Then, write code to track how many data accesses there are, run all three on test input, and compare results". It doesn't matter if you're copying the algorithm from online; if you don't understand the algorithm then you won't know exactly what you're tracking.

One thinks of Ken Thompson's Turing Award lecture, "Reflections on Trusting Trust", paragraph three:

"That brings me to Dennis Ritchie. Our collaboration has been a thing of beauty. In the ten years that we have worked together, I can recall only one case of miscoordination of work. On that occasion, I discovered that we both had written the same 20-line assembly language program. I compared the sources and was astounded to find that they matched character-for-character."