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.
It's much easier for people to cheat in group projects than on any particular assignment. Nearing the end of my undergrad I specifically choose courses that didn't involve group projects because I got tired of doing other people's work (while they went to class).
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.
How can I reach theeese keeeeeeeds???
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.
There are only so many ways to write a Las Vegas Algorithm when the teacher counts off for not following the algorithm as stated in pseudo code in the book.
Then he wants you to structure it a specific way. Then he wants a certain input. Then he wants a certain out put.
By them time your done, the only part of your program you get to "write" is the gui to display the output.
Oh and it has to be in the prof's preferred language, java.
So you end up with alot of remarkably similar programs, especially when the teacher has all these style demands and the same prof teaches students 2 or 3 classes in and everyone starts naming classes and methods the way he does.
You mad
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
FTFA, I understand the argument of, "Your friends want to cheat, great. Good luck on my uber-weighted final worth, now, 102% of your final grade", and I am personally not a fan of it. I've seen that type of methodology applied at the 101-level and gen-ed classes but I just don't like it at any level as it applies to college. IMHO, I paid for my schooling with the G.I. bill and the rest of it in loans and of course it would piss me off when I'm putting in hard, valid work in a class and not cheating to be punished for what others are doing. If people cheat and don't take the class seriously, the Mr/Mrs Professor should deal with that student accordingly and make sure it qualifies for an automatic failure of the class. I had professors in college that has a very low threshold for that type of behavior and the student would learn (or mom and dad fronting the college bill every semester would learn) that taking classes over and over will only make you either a 7 year senior or a drop out. Furthermore, I don't like how the professor gives up his authority and puts a layer of discipline on the students by punishing them. Is he looking for a militaristic approach? Does he think all the kids in the dorm are going to gang up on "the cheater" and give him/her a blanket party? Absolutely not.
However, when I started working in the real world in the Information Technology field, I never knew that this "group-punish" methodology would apply at most of the jobs I've been at with substantial perks (e.g. Work-from-home a good portion of the week, very flexible and accommodating work schedules with the option to make up time whenever).
To me, it just reminds me of being treated as less as an adult and more like a 2nd grader having to lay their head down on their desk for someone talking in the back of the classroom during teacher instruction time.
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?
I worked with a guy who had been a software engineer for so long that he used to be a cobol programmer. He had been with my last company for almost 10 years doing C++ work. He didn't understand that if he updated a C++ class to add a new function anything that used that class had to be recompiled so it would "know" about the new version of the class. I mean literally, he was stuck for days and couldn't figure out why he was getting access violations. What's worse is he had no idea how to tackle the issue. He started thinking that his system was screwed up completely and wanted to use memory management tools to figure out the problem. He didn't even bother to see the time stamp on his various files to see if they were old and could use a recompile. (Let alone use a program to check dependencies.) I helped him and figured it out fairly quickly and then started talking to him about recompiling the other stuff. (Since I've done that before. Updated a class and then missed recompiling another class or 2.) He had no idea what I was talking about or why this made a difference. Of course the absolute worst part is he thought he was a very good coder and wouldn't listen to what anybody else said about his code. (After that I avoided working on things with him. Clueless and essentially unteachable.)
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.