How Easy Is It To Cheat In CS?
Pinky3 writes "The New York Times has an article on cheating in CS at Stanford. Here is a classic quote from one student: 'I wasn't even thinking of how it [sic] easy it would for me to be caught,' he said. One interesting strategy discussed is for the professor to make the final count for more of the final grade each time cheating is discovered. Share your experiences as a student and/or as an instructor."
He/she who cheats discovers later why this is a bad idea.
I cheated and copied this post from another article.
From TFA: Mr. de la Torre was taking the computer science class for a second time in his junior year when he cheated. After he was disciplined, he resigned from his position as student body vice president in November
He shouldn't have resigned, I think he has the makings of a great politician...
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
yep... easy to cheat in Counter Strike.
Wall hacks and aim bots, that's how...
... but also cheating in CS:S is not that difficult.
Valve should really stop those nasty cheaters.
Now that I've posted a reply, I'm going to RTFA.
When you get into a corporate environment, "cheating" is actually preferred. No reason to re-invent the wheel when there is existing code that gets the job done.
Need a report that's "like this one except for..."? Take the code for that report and add some mods and there ya go. Your manager would consider you an idiot if you started each project from scratch, re-writing all the functions and methods that already exist in other applications and have perhaps already gone through rigorous QA.
Besides, how many ways can you write a QuickSort?
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
I am wondering what exactly they are calling cheating here, since the code says they "will not plagiarize, copy work or get outside help."
Plagiarize and copy are obvious, but I never heard of asking for help on homework being cheating. How else does one learn ?
If you didn't get the concept in class, you are out of luck, that's it ?
I was in an Engineering program (Stevens Institute in Hoboken), and I would venture that at least half of homework was done in study groups, sometimes just to bounce idea off each other, sometimes as a collaborative group effort. This was part of the learning process.
I did many years in grad school and discovered several cheaters. The lack of punishment for such was part of what caused me to abandon a career in academics. Part of the discovery that academics is a very very political space. A system that tolerates cheating perpetuates cheating and rots itself from within.
1) Crowded class writing mid-terms. There are 2 copies of the exam with minor but significant variances handed out in a checkerboard pattern. Am proctoring and see a student looking at another paper get another to proctor to witness it. Make a note on the exam when collecting it. Sure enough they guy has the right answers to the wrong questions. No way that would happen without copying. Have to write a formal description of what happened, it goes up the chain. Nothing but a "formal reprimand" on the record and zero for that exam.
2) Programming lab is scheduled 1/2 the class every other week. They are supposed to write code during the lab and have the help of the tutor to explain things. On second week I have people handing me a program "how does this work". I reply "didn't you just write this?" It takes me a couple of minutes to get them to admit they did not write it.
This is university, they are paying to learn. Yet they are unwilling to work at it. I wonder what they are looking at getting out it?
The number of taxi cab drivers with university degrees does not surprise me.
Cheating in CS is terribly easy to detect. We had programs we could use to pick up anything suspect, but I never actually used them - at the entry-level I was teaching at, it was pretty easy to catch someone out. In fact, often you can complete the assignment in the time it would take you to modify your stolen/plagiarized code so as to be undetectable. Half the time you just need to google the code they submitted before you find a forum/Yahoo Answers post from the student in question, and once you've been coding a student for a while you get a good feel for what exactly is and isn't their style and their code.
As to preventing it: there was a very simple policy at my university. You cheat, you fail. In most cases, it was rarely followed. We tended to be far more strict at the Summer School sessions, but then again, we also tended to get considerably more problems, mainly because the high school students and foreign exchange students attending didn't know better. The university also didn't really have a problem showing them the door.
Undergraduates were more of an issue. A lot of the time, we would let them know we'd discovered it, and let it slide. Repeat offenders were usually dealt with by using some kind of grade penalty. Very rarely did students get referred for academic discipline (although this is partly due to the entry-level nature of the courses I taught. Something high-level, or with a substantial amount of original research required, would be another story).
Finally, and perhaps most importantly - why were these students cheating? Well, honestly, I suspect because of the academic pressures placed upon them. I'd be extremely interested to compare the rates of detected cheating at somewhere like MIT, where grades are rounded up/down for GPA (ie, get a B+ and it's recorded as a B in your GPA, get an A- and it becomes an A) and at my university. Given the vast number of emails I used to get at the end of each semester from students desperate for a grade boost to help their GPA, I can see how some might have convinced themselves it was 'ok' to cheat. And maybe....just maybe...people are cheating because they're not getting the support they need. The article says the guy was taking the class for the second time. Sounds like maybe he wasn't getting the one-on-one help and extra support teaching staff should be giving him. Just a thought.
...huh?! If we're talking about university classes, the idea that anything other than perhaps the intro courses would use materials provided by some company (say, the textbook publisher) is absurd. Also, what kind of a professor would outsource their tests to an independent organization? How can they possibly know the course material well enough, and adjust for what's been covered during the semester, and such?
ttuttle is a rankmaniac
It's so much easier to believe successful people must cheat then to accept the truth that there are people out there that are actually smarter, more motivated, and more clever. I've known a few people who are multi-millionaire's ... and they are all far more talented in those categories than I am.
My ego is small enough that I can accept that I'll never be able to match their talents, nor do I want to work that hard to be that successful.
I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
Yup, good programmers are lazy. Good programmers will write the smallest amount of code to solve the problem at hand, because the more code you have, the more potential for bugs. In general, 50-90% of development time is debugging, so a lazy developer will write code that is easy to debug (short, simple, well-structured). If this cuts debugging time in half, it can double or triple productivity.
Unfortunately, students seem to not be learning how to be lazy very well. One course I taught had a URL at the end of the coursework sheet which pointed to a site that had code that did around 90% of what you needed for a passing grade. A lazy student would have copied this, changed a few things, and then spent some effort on the things needed to get from a pass to a first class grade. Only two of my students actually did this. In another course I taught, the back page of my hand-out notes had the complete solution to one of the questions in the assignment that I set. Only 10% of my students even attempted that question, and of those less than half got it right.
I think I blame schools giving grades for effort. It reinforces the idea that putting in a lot of effort is laudable, even if you don't achieve anything.
I am TheRaven on Soylent News
There's many talented and hard working people (much more talented and much harder working than myself), but only some of them are gazillionaires; the external environment (that I summarize as luck) counts a lot; both who are your parents (which heavily influences how you develop your talents, which schools you go to etc) and being at the right place at the right time.
If you think about it, Bill Gates was probably going to be a millionaire (his parents were very well off, he was (is?) driven, very smart and an SOB :), however, if IBM hadn't messed up, the timing hadn't been right etc he'd probably just be one more millionaire.
Harsh punishments don't work. Because the punishments are so drastic, instructors become reluctant to give them out to "good kids" who made "one mistake." Lax punishment becomes to de facto standard, and of a rogue instructor tries to apply the penalties as written, his students and his peers look at him as a monster and exert considerable pressure to loosen up.
Usually makes sense to establish what CS is in any article headline to establish defined context.
So it used to be a lot easier to cheat in CS. I used to use an old wallhack that I hex edited and was able to use for years without detection. When they switched from WON to Steam, it all became harder.
You meant computer science?