I think at the very least, all exams ought to be designed as "open book" with a time limit. that at least eliminates the issue of students using unauthorized resources. I'm not sure what can be done about students who collaborate on exams or go so far as to hire someone to take it for them. perhaps a few students could be randomly selected for each assessment to explain a few over their answers over zoom?
It isn't a minority. It is an overwhelming majority if they think they can get away with it.
https://www.cleveland.com/metro/2017/02/cheating_in_college_...
https://www.cbc.ca/news/opinion/opinion-academic-cheating-1....
Not defending Protorio here, but I didn't really understand how rampant cheating was, either, until I became friends with someone who works at a University.
Growing up, my friends and I would never dream of cheating and would fear the consequences of getting caught, so the entire concept feels foreign. We also grew up in the era of in-person classes, before cellular phones were common.
Some of the cheating stories I hear from my friends in University are mind-blowing. Everything from (college) students thinking the proctor won't notice them using their cellular phone during tests, to people trying to hire test-takers who show up with fake IDs. They had to start giving proctors photos of each student because checking IDs wasn't enough any more.
The situation is much more complicated than it sounds. As soon as one person gets away with cheating, it becomes a cheating arms race as even the good students feel the need to cheat to keep up. If an entire institution becomes notorious for rampant cheating, the value of every graduate's degree goes down.
Obviously the Proctorio solution is terrible, which is why I expect we'll see Universities push to return to in-person classes sooner rather than later while keeping remote as a 2nd class option.
A friend of mine copied an assignment to the point that he even included the other person’s name in the code.
He got 100% and a note telling him not to copy again.
...and yet I never thought to wonder how they managed to keep passing exams.
Maybe skills tests in an interview process is not such a bad thing.
As an employer, I don't care what piece of paper you have from what school. I only care about how well you can do the job I need to be done.
To be blunt, duh. I agree degrees are very imperfect & crude indicators of what you're try to measure, but what is your alternative? I'm getting DoS levels of applications blasted at me, how do I filter to an effective level that removes the same cheating mechanics mentioned here?
I'm fine with this in theory, but lots and lots of places bungle it so badly that they're no longer testing programming skills, they're testing rote regurgitation of memorized code under pressure. If your job legitimately requires that, for everyone's sake get out of the industry.
Maybe some institutions are simply selecting their students wrong?
The best however, is a 1:1 code review with a TA or Prof. Randomly jumping to files, reading the code and asking questions about it. Extremely hard to copy a codebase and learn it well enough you can explain it but really easy to do if you wrote it yourself.
re the 1:1s with TA/professor, I agree. if you can explain code that you didn't even write, you might be even more deserving of that A.
The sky's the limit when you think about it really.
1) Version control all assignments. I force them to make periodic commits throughout the week. If they want to copy a project wholesale, they have to do so in a way that takes a lot of time and effort.
2) Comparing bytecode. If they change the names of variables, comments, spacing, etc. these superficial differences will be lost in compilation.
3) Oral explanations. Now that everyone has guaranteed access to screen recording software, I force my students to record an explanation of their work. They go through their code line by line and explain it to me. I can tell very quickly when a student is explaining code they haven't written. If they are explaining code they haven't written to a satisfactory degree, then they've at least demonstrated they've learned something.
4) Remove incentives to cheat. Give them all the resources they need and more than enough time. Provide easily accessible venues like chatrooms and forums where they can ask questions anonymously. Provide opportunities to improve prior poor grades so they feel like failure is okay.
This doesn't eliminate cheating 100%, but from my experience it does seem to cause cheaters to fail, as their cheating does not pass for acceptable work. The students who earn an A come to see me during office hours and I know they are doing the work. I would say very rarely does someone earn an A who is not on my radar as being an obvious high-performing student. If a student is cheating and earning an F or D, I can't say I care much about that.
Notice none of these methods involve an invasive surveillance regime. I don't require cameras on at all time, 360 degree views of work areas to prove no one is helping, software to monitor tabs and processes... all this is completely futile. The students hate it and it incentivizes them to find ways to thwart it. They feel justified in doing so. I saw one post that advocated running a high speed fan to drown out typing noises, wearing reflective glasses in a dark room to foil eye tracking software, putting Vaseline on the camera... all to what end? To cheat on a psych exam? It's an arms race that's not worth fighting. The solution here is to adapt teaching methods with new technologies and testing methods.
No one wants to hear this answer because it means actual work for the teaching staff (compared to, say, automated scoring of multiple-choice tests), but it is, in fact, the answer.
It's not just "actual work", writing high quality tests and projects and then grading them is multiple full-time jobs worth of work. It's equivalent to interviewing 100 job candidates every week, forever.
Actual work for the already incredibly underpaid, over-worked teaching staff. As the money dries up in university funding, teachers are stretched thinner and thinner. That forces them to rely more on automated testing instead of having the time to actually know more about their students' performance. That in turn makes it easier for students to cheat.
The economics (as usual) are perverting the system. The individual participants are merely suffering from the perserve incentives of the system.
Pre-pandemic I would give them a paper exam in which they had to read and identify bugs, or write code by hand. This was the tradition. Now they actually use their tools to the best of their ability, and I get to see what they are capable of.
You might think this testing paradigm would result in everyone getting 100%, but that's just not what I've seen. The distribution of grades the last exam was normal with a mean of 80%, pretty much in line with what I get during a typical semester. As we transition back to a classroom environment, I don't expect to move back to paper-based CS exams. They are just wrong on so many levels.
The distribution is one thing, but grade correlation with other statistics might be more revealing. In particular, how do you know that wealthier students aren't hiring people to take the exam for them?
The other thing I do is I don't make exams so weighty. If you ace the exam but you don't do well on the assignments, you're not getting an A in the course. So the hypothetical wealthy cheater will have to keep their body double on retainer for the semester.
But I will say that the students who earn an "A" are ones I interact with fairly regularly. "A" students typically come to class, ask questions, engage with the assignments, start their assignments early, etc. And before anyone accuses me of playing favorites, I don't do any grading, and grading is anonymized. But I can easily predict the "A" students just by their work ethic. The idea of the brilliant student who doesn't come to class and effortlessly breezes through the exam is as far as I can tell after teaching thousands of students a myth. At least at my university. Maybe all of those kids go to MIT.
The university will pay repetitional consequences for claiming that the student learned particular things which they clearly didn't.
I maintain that cheating is almost always a pedagogical problem first, and a trust problem second.
Cheating becomes a convenient solution to a problem when you're dealing with a course with inadequate teaching, a difficult learning curve, or a lack of motivation for students to do their work to the best of their ability themselves, or a nonsensical curriculum. Fixing cheating doesn't involve surveillance - it instead involves removing the incentive structure that exists for cheating in the first place. This may involve rethinking grading, or course material, or assignments; but is certainly not impossible.
We act surprised when students "cheat" in CS exams that's expected to be done with only pen and paper - nearly any real workplace will give you an option of a text editor or IDE of your choice. So give them an IDE! Give them the API documentation! Don't create an incentive to test the waters to fix the broken rules of assignments.
Another relevant area of work is ungrading, or self-graded courses in general - when you remove the friction that grades cause in the feedback loop of learning; learning becomes an organic process for everyone involved. There's a lot of interesting pedagogical research, and just "cheating is rampant" doesn't scratch the surface of "but why is it?"
In addition, cheating is a game. Every second you spend drumming up cheating in front of your students is another second they think about trying to get away with cheating you. If you tell students they're not to be trusted, they will not give you any reasons to trust them; in many cases it's as simple as that.
A combination of good pedagogical design, and building a relationship of mutual trust with your students, is certainly more fruitful than creating an academic police state (of which Proctorio is only one part of). There will always be people slipping through the cracks, but there are other safeguards in the world to catch them too.
Another important thing is that conversations about cheating always assume a very specific framing of higher education - that they exist primarily as a gatekeeper or arbiter of who-knows-what; the university also has the purpose of providing an environment for learning. And in many cases, cheating is just a result of a failure to provide that environment.
In addition, if the primary beneficiary of university degrees are the employers (or the people who care about the who-knows-what stamp), then why do students foot the bill for tuition? If you choose to accept this framing of universities primarily as arbiters, isn't access to a degree just a head tax to enter the skilled labor market?
Or are they cheating at the "take these courses to become a more rounded person" stuff, like the insect biology courses for the CS students?
Still, you're paying a fuckton of money to supposedly learn stuff in college. Cheating your way through is a huge waste.