Later I was told I was disqualified because I had cheated and copied my answer from StackOverflow. I tried to explain that the user I copied it from was indeed me and that I could prove it by logging into SO in front of them but I never heard back.
Later I was told I was disqualified because I had cheated and copied my answer from StackOverflow. I tried to explain that the user I copied it from was indeed me and that I could prove it by logging into SO in front of them but I never heard back.
Basically, it's not necessarily OK to plagiarize yourself. Always disclose when you do it.
I'll never understand the concept of plagiarizing long-established solutions to problems.
Not even different variable names, as any plagiarism detector which is halfway-competent would have to ignore them because changing variable names is one of the things any halfway-competent plagiarist would do. The arms race has gone to the point where it's impossible to detect mechanically whether an implementation of a standard algorithm has been plagiarized. It's probably impossible for a human to detect it without other context.
And that context comes down to "Has this student shown steady gains or are they suddenly handing in competent code after demonstrating complete incompetence?" which you can't know unless the class is structured such that students show what they know to the graders in person. Which requires a certain student-to-grader ratio. Which is expensive.
It's practically guaranteed. Quicksort is quicksort. You can't get creative with it without implementing something which isn't quicksort anymore. That code may well sort a list, but if the assignment is to implement quicksort, you've failed at the task.
> I think the real fail here is a company assigning something like quicksort and expecting to get original answers.
Right. You have to go to IOCCC levels of perversity to be able to turn in something which is quicksort but isn't going to trip a well-trained plagiarism detector.
Thankfully, I went through college before these automated plagiarism detectors had caught on. They were around, but not as pervasive as today. I mean, if you're going to sort a vector in C++ for a trivial app, there's only so many ways to write:
std::vector<int> stuff{...};
std::sort(std::begin(stuff), std::end(stuff));
And, lets face it: most lab assignments requiring a student to write a program are pretty small and trivial (at least mine were 20 years ago). The projects, on the other hand, were definitely more involved and you'd likely see more divergence in solutions there.I don't want to work with someone who trusts their own quicksort implementation over one from an OSS library. It's a toxic combination of optimism and egotism that I don't have time for. What other stupid shit are they doing all day long? What does it say about my team if I'm on the asking end? Interviews are short, and information exchange is always limited.
Instead I may ask them to sort a complex object, or cook a piece of data that's organized opposite of what the UI will require. lots of people fail at these tasks. They're my version of fizzbuzz, but they actually represent the work we do.
What does this mean?