« Worth the Cost of Membership | Main | Sudoku Puzzles and Computer Science »

Cheaters Never Prosper, Or Do They?

I read a very interesting article about student cheating in Communications of the ACM recently that reminded me that finding ways to subvert the system is still very much a part of the mindset for many students and led me to wonder how much effort we can and should put into discouraging it.

I never really thought very much about cheating among computers science students until the late 1980's when I was working in a computer science department at a very large university. When discussing this issue, the faculty tended to fall into two camps: the "perpetrators should be punished" camp and the "boys will be boys" camp. What surprised me, however, was that more of the faculty tended to fall into the latter than the former group.

What I found particularly irksome was the opinion among these folks that somehow computer science students were different or should be treated differently than other students in the university. Being a fine old institution, our university had a history of being particularly harsh in matters relating to plagiarism. A student in the English department caught passing off a couple of borrowed sentences as her or his own in an essay would be publicly disgraced and dismissed from the program and from the university. Why should the case be different for computer science students?

Keep in mind too, that this was back before the days when we began to look at our teaching methodologies in light of industrial practices relating to software development. There was no groupwork as part of the curriculum. There was just stealing, and the magnitude and creativity behind it was almost staggering. In those days people trooped off to the Computing Center to run and print their programs. Printouts were stolen with great regularity. Some students became seasoned dumpster divers, rifling through the cast off paper in the garbage for bits of useable code they could steal.

Sometimes, desperate times call for desperate measures. In order to curb what he perceived as a growing tendency toward "unofficial collaboration" one colleague of mine adopted a particularly successful strategy called "one cheats, two fail". When he found duplicate code on individual assignments, he called both students into his office and told them that both of them would fail unless the copier confessed. Both students were humiliated, the student who did the original work learned to protect it more carefully, and rough justice was often administered to the cheater who refused to admit to the act.

In the 1990's I also worked for an educational publisher and I would frequently receive email from students posing as teachers requesting copies of textbook teacher guides so that they could have the answers to the class assignments. Over time, I developed an almost uncanny ability to spot the pretenders. Usually it was their appalling grammar.

These days, students simply comb the Internet for snippets, applets, or entire applications to submit as original work. Some folks still defend this as justifiable on the basis that code reuse is a highly efficient and effective use of programmer time. Others remain vigilant.

How about you?



I am appalled at the thought that educators would consider collecting other peopls code and claiming it as their own, a proper form ofProgrammin.

For years now, even the Open Source community has been quick to point out people that use othes code without giving credit to the original source. The computer industry itself has obviously defied the premise thatfindin code and claiming it to be your own is permissible. Les ask some of the major software vendors if they would hire aProgramme or aCode Finde?

With the obvious answer to that question, les ask one more. Do you really want to produce/promoteCode Finder instead of teachingProgrammer? I hope not.

The goal of educators is to educate. In a programming class the object is to have students leave your class able to produce usable programs. Anything short of that should be a failing grade. Being able to produce usable code yourself is far different than being able to collect code other people have created.

Hi, call me Anthony.

About 5 years ago I transferred to a really good university as a computer science major.

Let me give you some background first: before I transferred I went to a community college and it was there that I decided to become a computer science major. The thing is, though, is that I got into it for all the very wrong reasons...I wanted to make lots of money and the prestige of being a computer scientist. At first, I tried and did ok, obviously, computer science is a very hard subject...but as time went on I found myself relying on other people to give me their code so I could modify it and turn it in as mine. It got so bad, that I would never spend any time on my programming assignments because I could always count on my friend to give me his code. I even found a way to cheat on exams.

When I transferred, I took a data structures course that was extremely hard, and the instructor had a cheat-checker program, and proudly announced that cheaters would be caught. So, I sincerely tried to tackle the programming assignments on my own and it occurred to me very quickly that I had NO idea what was going on. I had cheated for so long that I had NO idea where to even start on some programs. Needless to say, I failed that class, and was placed on academic probation. I entered a deep depression, I was paying all of this money to attend a great university and was about to fail out because I was a lazy cheater!

I dumped computer science, took some physics courses, and found my knack for the physical sciences. I have been immensely happier ever since. I am So glad not to be a programmer now!!

This is a subject dear to my heart (too dear according to many of my colleagues and fellow graduate students). In your post, you mention the public humiliation that would inevitably follow exposure in days gone past - this is not allowed in many current environs as it would be thought to damage the child's self esteem. Also implicit in your writing is the opinion that cheating is wrong ... but would you hold this opinion if this is how you completed school, received your degree, and qualified for teacher certification? It is not a problem limited solely to Computer Science. I have had many "interesting" discussions with teachers from both language arts and social studies ... and their students. The prevailing opinion of the latter is that their teachers must know (and approve) of the behavior or how could they be so ...

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)