How about they expel those who used the solutions as well?
A lot of solutions end up looking similar, as the automated marking system requires certain method names and the questions often have answers that are only a line or two at this early stage of the class. Early questions are things like: if membership of a set is a function mapping between an integer and a boolean, how would you define the membership of a singleton set? Modulo the spaces and variable names, every stud…
Coursera's Functional Programming - Cheating Discovered
141–150 of 182 posts
Re: Coursera's Functional Programming - Cheating Discovered
#142Actually, this is valuable data. As a potential employer, I care more about the candidate's ethics (or lack thereof) than their ability. I could always teach them, but I could never trust them. Coursera should just publicly identify cheaters so I can cross check against resumes or certifications. Problem solved.
Re: Coursera's Functional Programming - Cheating Discovered
#143Thanks to some cheaters I just discovered Coursera. And you want to punish them now... uhm :)
Re: Coursera's Functional Programming - Cheating Discovered
#144Re: Coursera's Functional Programming - Cheating Discovered
#145I personally did not enjoy the threat of expulsion in my inbox this morning. As, like probably many other, but the code up on Github because, well this is just what I do with code. I've signed up for this class because I was interested in learning something. Cheating would obviously not teach me anything, so why even take the class in the first place? The Coursera certification currently holds no or little value. May…
> I personally did not enjoy the threat of expulsion in my inbox this morning. As, like probably many other, but the code up on Github because, well this is just what I do with code. Then you're violating the conduct. They ask tons of times to not share your code, including on GH. So you should either use a private GH repo or host it elsewhere, privately. Don't whine about not liking the "threat of expulsion" when it…
Re: Coursera's Functional Programming - Cheating Discovered
#146Earlier quoted context omitted.
>Given two resumes, one with a big bullet list of unverified skills, and one with a bullet list of some completed coursera courses, which would you choose? The big problem with your logic is assuming that one of these two options must be meaningful. Those two resumes are either both good enough to bring in for an interview, or both not good enough to bring in for an interview. "I have a worthless piece of paper" chan…
It does to me. It shows that someone at least took the time to work through a course. It also shows they are cool enough to know what coursera is and open minded enough to use it.
Re: Coursera's Functional Programming - Cheating Discovered
#147Actually, this is valuable data. As a potential employer, I care more about the candidate's ethics (or lack thereof) than their ability. I could always teach them, but I could never trust them. Coursera should just publicly identify cheaters so I can cross check against resumes or certifications. Problem solved.
It's possible students (ignorantly) made their work public because they were proud of their accomplishments. I've done that once or twice under the assumption the course would change for other classes, if only slightly. That being said, the onus is on the student to make sure they aren't submitting someone's work as their own. I'm not really sure if they understood what they were doing was serious (as in if Coursera…
Re: Coursera's Functional Programming - Cheating Discovered
#1481) Figure out the number of students taking course n.
2) For the first assignment, figure out the number of questions m you want.
3) Make a question bank of size M.
4) Satisfy the constraint n 5) You now can uniquely identify uploaders via the set of answers they upload.
If you're willing to kick people out of the class and mark them as cheaters, you can now do so without worrying they're trying to frame someone else.
This can be refined--maybe make it so that the question bank is large enough that several people conspiring will be unable to randomly generate a sequence of questions that's been given to a real person, so they can't randomly screw people for shits and giggles. You could also make the questions differently phrased, making it harder to Google them. Depending on how many cheaters there are, you can also just make a question bank that's large enough that any given question is unlikely to have been uploaded by a cheater, though that rapidly blows up the size of the necessary question pool if you do have a significant proportion of cheaters.
Re: Coursera's Functional Programming - Cheating Discovered
#149Earlier quoted context omitted.
actually, when I took the first "not-quite-coursera" classes (ML and DB) they did quizzes in a smarter way[0], using a larger set of questions per quiz than the stuff you'd get in a single attempt. So each attempt, even from the same student, would get a slightly different set of questions, and the dumbest attempts at cheating were discouraged[1]. I don't see why this couldn't be done for the programming assingments.…
Another solution would be to employ an alogrithm that checks your solution against past solutions. It would work much like what professors employ when they submit Reports to an online repository. If someone it stupid enough not to even change variable names then they'd be caught easily. While with Millions of solutions it would be easy to get some replication, most of the time there wouldn't be any and this is when m…
Use an algorithm to cross-check homework submissions, checking for structural copying. If a high correlation is found, as with human intervention, you suspect cheating but cannot prove it.
So, only for the potential cheating students, issue an extra quiz at some scheduled time, and discard the homework score. These quizzes should be all issued in parallel batches and last an hour or so, so solutions can't possibly be copied among cheaters. Make sure the quiz is actually harder than the homework, conceptually.
In other words, rather than trying to punish potential cheaters, just keep testing them until you're sure they're not cheating. This is better IMO than producing a 10x size problem set and selecting random subsets, because the number of suspected cheaters will probably be a small-ish percentage. Therefore, rather than having to write a ton of etra test material for everyone, you only have to write a few extra quizzes for a subset of the class.
Re: Coursera's Functional Programming - Cheating Discovered
#150Earlier quoted context omitted.
> I personally did not enjoy the threat of expulsion in my inbox this morning. As, like probably many other, but the code up on Github because, well this is just what I do with code. Then you're violating the conduct. They ask tons of times to not share your code, including on GH. So you should either use a private GH repo or host it elsewhere, privately. Don't whine about not liking the "threat of expulsion" when it…
The issue isn't that the school isn't within their rights to do this. It's that they're putting an unnecessary limitation on good students, forcing them to help fight the cheaters. There's nothing inherently wrong with putting up my answers to homework on GH. The onus should be on students to not cheat; it feels kind of scummy to force students who have no desire to cheat to take down their code in a sad attempt to f…
Perhaps in a perfect world, you could publicly post all of your homework and whoever is administering the course would be able to detect someone using your code for their homework - that is incredibly difficult in the best of circumstances, and in this case, effectively impossible. Doing something about low-hanging fruit - publicly available answers to the questions - seems like a reasonable mitigation step.