Non-Technological Ways to Combat Cheating?
blackcoot asks: "I'm currently T.A.ing for a required senior level class in algorithms. Having just graded the latest set of homework, I'm amused / sickened (can't make up my mind on that one) at the level of cheating. Slashdot has covered automated cheating detection in the past here and here, but I'm hoping to find some (necessarily nontech) ways of encouraging students to be a bit more honest (or at least a little less spectacularly stupid in how they cheat). I've been reporting the cheating as I've found it to the relevant profs, but it doesn't seem to be having much of an effect. Any suggestions?"
Give them zeros each and every time you find one of them cheating. They can appeal if they think it's unfair.
Just put in an impossible question and see how many get the same answer ..
Rus
Cheap UK and US VPS
I misread the title, and thought we were talking about nano-tech.
I'd come up with a couple of interesting ways to combat cheating with it before I realised my mistake:
1) Have nano-robots floating around in your blood stream (and eyes) taking account of everything you see and write. If they witness you cheating, turn you into grey-goo.
2) As above, but instead of mushing your entire body, just take control of your hands to write "I AM A CHEAT!" all over the paper.
3) Since the above isn't actually possible yet, just *tell* the students that it is, and they've been injected with the "truth or die" serum.
One year, I marked all the coursework for a year and found some ridiculously blatant cheating. So the next year they were informed what happened before (including the 0 mark for all parties involved). I don't remember coming across any cheating when I marked that lot.
So either they got very good at Prolog or very good at hiding their cheating. Either way I don't care as had fewer meetings to attend...
In my experience, one thing that works is to make sure students care about the work they produce.
When they think that the quality and honesty of the work is is important to them, and to others they tend not to cheat.
One way is that we give them problems that we ourselves not fully understand, and we clearly tell them so. You present them with a challenge saying "Ok, here is this tough problem. We (the reseach group) dont quite get it yet. Maybe you will see the light and can help us get it further. If your solution/idea it is particullarly good, we will make you a coauthor on the paper on the toppic"
Obviously, this requires that you do have such a toppic. But inventing a tough or next to impossible problem is usually not a problem.
Anohter way we use is to introduce a element of competition into assignments. Make them make competing designs/solution and invite an industry/scientific expert to evaluate and judge the solutions during a workshop/panel discussion. Works wonders for us.
Caveat: this experience comes from teaching Environmental Science and Sustainability, not computer related stufff, but is should port finely to CS as well.
If you want more info/literature on the topic of chalenging education, just mention it.
Complexity is a measure of our ignorance...
Here's something I've used while I was a TA. You could say it is a little ugly, but it worked like a charm.
After every assignment in which I have detected cheating, I have published a note (to the course email list) that went something like that:
During the checking of your submissions, some instances of cheating (copying) were detected. In all such cases, both sides (the copier and the source) will be graded zero, unless you approach me and let me know who really solved the assignment, and who copied. In this case, only the cheater will be graded zero; the source will be given his fair grade.
It worked. It worked like a charm. For every submission that I suspected was a copy of somebody else's work, one of the students came up and admitted cheating (they were often pressed to do that by their friends). They had the most pathetic excuses, of course, but that's beside the matter. The bonus part is, many students approached me and admitted cheatings that I didn't detect.
- Tal Cohen
And you can't get out of the game.
This is an area where you would be well advised to be VERY careful, and
I suspect that the LESS automatic [ergo: more personal] your methods of
detecting and dealing with cheating, the greater the risk to you.
Two situations, both of which astonished me at the time:
In High School, I always thought of tests about the same way that a Jock
thinks of a Track Meet--Fun and Games with the chance of winning a worthless trophy.
When this one bad-attitude twit with a two-digit I.Q. started whispered requests for answers
during a mid-term, I thought that giving her 100% WRONG answers was a perfect
way of dealing with an insult. Want to guess who got more than TWO HOURS of
major [as in YELLING and ARM-WAVING]from both the Dean of Students and the Vice-Principal?
Not the cheating twit-bitch.
A few years later, Proctoring an Exam as part of my T-A duties, I spotted one of the test-takers
repeatedly peering into a book-bag. A few minutes later, having seen the suspected Crib-sheet,
I confiscated both it and blue book, then quietly ejected the cheater.
Want to guess who very nearly got fired?
Thelma, I'm not making ANY deals.
- People who cheated on most assignments
- Questions that many people cheated on
For the people who cheat on many assignments, often turning in identical, alpha-renamed problem sets, I think the best solution is to give them a Zero and send them to whichever judicial administration your school has in place for academic integrity violations. Those people probably don't want to be in a CS course in the first place, or they have other priorities (Sports, Social life, etc.), or maybe they just have no faith in their ability to pass on their own and just need more tutoring. If you can make it less worth their time to cheat than to just not take the class at all, hopefully those people will take another class that they might be more interested in.But I've seen questions that honest/smart students cheat on. I've heard of people in the labs shouting answers across the room. The questions that caused this kind of cheating tended to be trial-and-error questions with one line solutions. In any class students are going to work together, and I think it's wonderful if they can help each other understand what's going on.
So to avoid cheating, the best way is to create problems where the understanding is separated from the answer. This way students that just get the answer really miss out on something that the students who solved it honestly get.
I've always found that I was much more motivated to do the work, and learned more from the process, if I had the ability to work with someone else--whether the policy allowed it or not.
Working alone is prone to getting stuck at one place and not being able to move on, whereas when you work with a partner (or partners), there's a potential for a different perspective, which almost always helps. I found that I learned a lot simply from hearing a different take on the problem (usually, after getting stuck in solving it :) as opposed to spending hours agonyzing over a stumbling point and possibly not really advancing from it, thus learning very little from the assignment. Furthermore, many people learn a lot by just discussing the problem, as it forces them to think along paths their brains would not take if they were left to themselves; many things fall into their place and sink in much better in this fashion (for example, how many of you have come up with an answer to a tough question while explaining your question to a friend?). And let's be realistic, in the real world, many things are done collaboratively and are beyond any single person.
A number of my CS classes at Cornell had a very simple policy, which has worked remarkably well (and I've seen this both as a student and a TA). The policy was, roughly:
1. You are allowed to discuss the problem with others
2. You have to give credit to the people you discussed the problem with (write down their names on your assignment)
3. Everyone has to do their own writeup
This policy had the benefits of letting people bounce ideas off of each other, to learn from others, to pick up things they wouldn't otherwise pick up. At the same time, requiring everyone to do their own writeup ensured that the people understood the solutions well enough to be able to formulate them well on paper--not an easy task if you're just trying to blindly copy parts of a solution without understanding it.
What I saw with that policy in place was that people tended to form stable study groups, the overall results were pretty good (yet sometimes people in the same study group might have rather different explanations of the same things!), and also, in the rare cases of cheating, the cheating was relatively obvious and easy to spot.