Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Cheating Detector from Georgia Tech

CmdrTaco posted about 13 years ago | from the thats-pretty-amusing dept.

Education 941

brightboy writes "According to this Yahoo! News article, Georgia Tech has developed and implemented a "cheating detector"; that is, a program which compares students' coding assignments to each other and detects exact matches. This was used for two undergraduate classes: "Introduction to Computing" (required for any student in the College of Computing) and "Object Oriented Programming" (required for Computer Science majors)." Cuz remember programmers: in the real world you are fired if you consult with a co-worker ;)

Sorry! There are no comments related to the filter you selected.

I cheated on my wife (-1)

DivineOb (256115) | about 13 years ago | (#2849760)

but she didn't detect a thing... aww yeah...

You're caught (5, Funny)

alen (225700) | about 13 years ago | (#2849761)

Your Hello World program is exactly the same as Johnny's. You fail. You're kicked out of school. Good bye.

Re:You're caught (-1)

negativekarmanow tm (518080) | about 13 years ago | (#2849781)

My Hello World program is like your dick :
It's the smallest in the world

Re:You're caught (0)

Anonymous Coward | about 13 years ago | (#2849891)

Thats not bad!

Re:You're caught (1)

jordan_a (139457) | about 13 years ago | (#2849793)

This is a good point. Many of the simple programs given as assignments have very straight forward (and similar) answers. I friend of mine was 'caught' cheating with someone who had never had any contact with.

Cheating detector written in C... (1, Troll)

11thangel (103409) | about 13 years ago | (#2849763)

And someone forgot that "=" is the variable set operator, not the comparison operator, which is "==", so suddenly the cheating detector gave a lot of people F's...

In the real world... (2, Insightful)

Anonymous Coward | about 13 years ago | (#2849771)

You're fired for copying someone else's work and passing it off as your own, particularly if it's a competing product.

If your employer has any integrity at all, that is.

Re:In the real world... (2, Funny)

Anonymous Coward | about 13 years ago | (#2849893)

Actually, in the real-real world it just means that you are a manager.

In other news. (0, Troll)

Kenja (541830) | about 13 years ago | (#2849774)

Geeks all over the world discover the diff utility and wonder what the hell the Georga Tech monkeys are so worked up about.

LambdaMOO (-1, Offtopic)

Anonymous Coward | about 13 years ago | (#2849775)

FIST PROST PROPZ to all my *anon homies! (aka u g4y d00dz (aka u d00dz (aka u)))

Wow! (1, Redundant)

The Blue Meanie (223473) | about 13 years ago | (#2849776)

Looks like someone at Ga. Tech finally discovered "diff"!

almost ten years old (1, Funny)

3ryon (415000) | about 13 years ago | (#2849777)

The software, developed around 1993, detected similarities in the students' work in three computer coding assignments, Eislet said. It's unlikely that innocent students' work was detected by the program, he said.

1993? Think it was written in COBOL? Have they tested it for Y2K compliance?

diff? (0)

Anonymous Coward | about 13 years ago | (#2849778)

They re-implimented diff?


This is bad (2, Funny)

TheGreenLantern (537864) | about 13 years ago | (#2849782)

How the hell are all those lonely CS majors supposed to get in good with the Education majors now?

Re:This is bad (0)

Anonymous Coward | about 13 years ago | (#2849899)

Depends on what you mean by "get in good".

Real-world vs. school (4, Insightful)

sben (71467) | about 13 years ago | (#2849786)

"Cuz remember programmers: in the real world you are fired if you consult with a co-worker ;)"

Yes, but one of the goals of a CS department should be to produce programmers who are capable of doing work themselves. Would you want to work with (or supervise) a slacker who couldn't code his way out of a paper bag, but who graduated anyway because he cut-and-pasted the work of his (harder-working) classmates?

Re:Real-world vs. school (1)

jordan_a (139457) | about 13 years ago | (#2849822)

Good point. I know a 4th year student who doesn't know C, but watch out his Counter-Strike skills are amazing.

Re:Real-world vs. school (3, Interesting)

susano_otter (123650) | about 13 years ago | (#2849883)

Good point. I know a 4th year student who doesn't know C, but watch out his Counter-Strike skills are amazing.

Sigh... when will schools implement the other kind of cheating detector [evenbalance.com] ?

Re:Real-world vs. school (0)

Anonymous Coward | about 13 years ago | (#2849828)

Yah, but what if it is that cute blonde you've had your eye on all semester who is asking for help? Letting her mooch is preparing you for the real world also!

Re:Real-world vs. school (-1, Troll)

Anonymous Coward | about 13 years ago | (#2849869)

I think CmdrTaco eats tacos. Crap tacos, that is.

Erm. (5, Interesting)

Dr. Sp0ng (24354) | about 13 years ago | (#2849788)

This is new? They used something like this when I was at the University of Maryland a few years ago. And it did more than just check for exact matches, it compared parse trees and so on to check for similar program structure (any matches were, of course, double-checked by a human before ringing the cheating bell). It caught quite a few people I knew.

Re:Erm. (1)

vagnerr (214527) | about 13 years ago | (#2849831)

I "wrote" my own version of a checker I simply diff'ed every students project against every other one wc'ed the results and sorted by order of size then took a close look at the first 10-20
I caught about 12 students out of 100 doing it.
Fact was I had other programs actualy automarking the assessments as well, but thats another matter :-)

So? (1)

BrianGa (536442) | about 13 years ago | (#2849790)

I'm not surprised, since systems such as this are already widely used for detecting plagiarized essays [virginia.edu] .

Re:So? (0)

Anonymous Coward | about 13 years ago | (#2849875)

And if you had read the fscking article you would have known that http://plagiarism.phys.virginia.edu/ was around, and wouldn't need to mention it to us.

i cheated (-1)

trollercoaster (250101) | about 13 years ago | (#2849792)

Rico Suave

Seguro que han oído que yo soy educado
Soy un caballerito un chico bien portado
Un joven responsible y siempre bien vestido
Yo no se quien ha mentido

I don't drink or smoke ain't into dope
Won't try no coke, ask me how I do it, I cope
My only addiction has to do with the female species
I eat 'em raw like sushi

No me gustan ternos, mi estilo es moderno
Si me enterno, you me enfermo
Mi apariencia es dura, vivo en la locura
No me vengan con ternuras

So please don't judge a book by its cover
There's more to being a latin lover
You got to know how to deal with a woman
That won't let go
The price you pay for being a gigolo

There's not a woman that can handle
A man like me
That's why I juggle two or three
I ain't one to commit, you can omit that bit
You pop the question that's it
Haber uno, dos, tres, cuatro mujeres
Y la situació allí no muere
No es un delito calmo mi apetito
Con un llanto o un grito

So again don't let my lyrics mislead you
I don't love you but I need you
Would you rather have me lie
Take a piece of your pie and say bye
Or be honest and rub your thighs

Well, it's ten o'clock and I'm two hours late
I never said I was a prompt date
But you kept persisting that I meet your parents
Huh, they're going to love my appearance

Ding dong el timbre suena
Tu madre abre, que vieja mas buena
Le digo Hola! Pero no para bola
Que se ha creido vieja chola

Go and serve the food mom
Que tengo ambre
If you don't hurry, me va a dar un calambre
Y usted señor? Why's your chin on the floor?
Sierra la boca por favor

What's this amor, these little huevos?
Esto sí que yo no pruebo

I'm used to good ol' fashioned
Homestyle Spanish cooking
If i try that I'll be puking
Well it's been a pleasure but we got to go
Regresaremos temprano
Cinco, seis, o siete de la mañana
Su hija esta en buenas manos

Flame-bait in comment aside: (5, Insightful)

SnowDog_2112 (23900) | about 13 years ago | (#2849796)

Remember, folks -- you may not get fired for consulting with a fellow programmer, but if you never learn how to do anything but copy & paste other people's code, you've lost out on a LOT of problem solving skills.

There's a difference, a huge difference, between collaborating and cheating.

In the real world, you _would_ get fired for taking credit for someone else's work, trying to pass it off on your own. Heck, you'd probably also violate a bunch of licenses, too :).

Re:Flame-bait in comment aside: (5, Funny)

StaticEngine (135635) | about 13 years ago | (#2849868)

In the real world, you _would_ get fired for taking credit for someone else's work, trying to pass it off on your own.

Actually, from what I've seen, in the real world you get promoted for taking credit for someone else's work, especially when it's one of your underlings who slaved away while you were out on the golf course.

To copy or not to copy... (1)

Ian_Bailey (469273) | about 13 years ago | (#2849902)

I believe that there are two types of code... The kind you can (and should) freely copy, and the kind you can't.

This has nothing to do with copyrights or stealing someone's work. If the code fragment actually solves a conceptual problem, some form of algorithm, then it should definitely not be copied. Of course, some fragments are so common (such as a sort) that all code will look the same anyways, and you should be able to copy some of your own code.

But the kind of code that should be copied at all costs are things such as system calls, user interface calls, connecting to various sources, and much of the stuff that has nothing to do with the actual problem. These fragments are frequently tedious, and rarely are useful to understand, and such fragments should be freely available in online databases. Especially the UI stuff, you WANT your program to work the same as others!

My two € cents.

Re:Flame-bait in comment aside: (5, Funny)

Spectre (1685) | about 13 years ago | (#2849908)

if you never learn how to do anything but copy & paste other people's code

Then you are known as a JavaScript coder ...

this isn't new... (1)

gtdistance (191566) | about 13 years ago | (#2849797)

Wow, they learned how to use diff?? :)

Seriously, I'm pretty sure they already to this here at University of Michigan. At least the professors SAY they do. I suppose it could be a bluff, but I don't see why they wouldn't do it.

blergh (0, Troll)

fintler (140604) | about 13 years ago | (#2849799)

yet another reason the switch to MIS...heh

Re:blergh (0)

Anonymous Coward | about 13 years ago | (#2849914)

yet another reason the switch to MIS...heh

... where cheating is SOP.

I can make one of those (0, Troll)

nomadic (141991) | about 13 years ago | (#2849800)

ln -s cheatingdetector /usr/bin/diff

Re:I can make one of those (3, Informative)

Howie (4244) | about 13 years ago | (#2849890)

You failed (ln: File Exists). That would be:

ln -s /usr/bin/diff cheatingdetector

Re:I can make one of those (0)

Anonymous Coward | about 13 years ago | (#2849897)

Actually it would be more efficient to do:

ln -s /usr/bin/diff cheatingdetector



Repost Detector (5, Funny)

Unknown Bovine Group (462144) | about 13 years ago | (#2849801)

Maybe Slashdot could use this technology to stop reposts.

Re Post Dtechtor (1)

TheViffer (128272) | about 13 years ago | (#2849882)

May-be /. could youse dis tech 2stop re posts.

Re:Repost Detector (1)

frunch (513023) | about 13 years ago | (#2849892)

I have an idea. Slashdot could use the diff command to stop people from posting redundant comments!

PR fluff (-1)

core10k (196263) | about 13 years ago | (#2849802)

This is all bullshit.

I've been a TA, so I know how profs act intimately.

Want to know a little secret?

They don't give two shits about cheating! I busted two seperate pairs of cheaters on an assignment, and he just told me to give them their full marks.

So don't believe your prof unconditionally when (s)he says "cheaters will be severly punished" - it just might note true.

I don't think it's the first... (1, Insightful)

TJPile (220972) | about 13 years ago | (#2849805)

The Rochester Institute of Technology [rit.edu] (R.I.T.) has a "try" command that compiles, tests, runs, and submits a students coding assignments electronically. I believe the programs are then run through a big hash function to detect similarities between the submitted code and all other submitted code. I don't know how far back their data comparison goes, however.

too easy... (0, Redundant)

mrpotato (97715) | about 13 years ago | (#2849808)

that is, a program which compares students' coding assignments to each other and detects exact matches

Yeah, it's called "diff"...

Not really news.... (2, Insightful)

Ian_Bailey (469273) | about 13 years ago | (#2849810)

The article talks about a program that has been around since 1993 and merely detects exact duplicates of code...
Not really a big deal... Our school uses some University's program and database which not only detects fragment duplication, but also permutations of the code (such as changing variables, white space, etc.). Not sure which University though....

DIFF(1) (1)

mmca (180858) | about 13 years ago | (#2849813)

In the simplest case, diff compares the contents of the two files from-file and to-file. A file name of - stands for text read from the standard input. As a special case, diff compares a copy of standard input to itself.

Sounds like they developed diff again.


Re:DIFF(1) (1)

bharath (140269) | about 13 years ago | (#2849877)

Actually some of these systems look for structural rather than verbal similarities. A bit more complicated than diff.

And this is news? (1)

Durandel1020 (230673) | about 13 years ago | (#2849814)

Professors have been using WinDiff for many years now... whats so big about this?

article is about 5 years too late... (1)

edrugtrader (442064) | about 13 years ago | (#2849815)

university of wisconsin had the exact same thing, and i went there 5 years ago.

my friend actually got kicked out of schoole for a year because his program matched someone else's like 95% or something.

it compared variable names, syntax, style, and just general 'sameness'... i guess for most projects 50% would be average, and they just flag the ones way off the mean.

Stifiling Reusability? (2)

realdpk (116490) | about 13 years ago | (#2849816)

Don't get me wrong, I understand that cheating on a test is wrong. I'm concerned that this sort of thing may help promote the "wasn't built here" syndrome (I believe it's called something else.)

I'm just hoping that this is balanced with a few lessons on reusing and sharing code, for practical purposes.

Re:Stifiling Reusability? (1)

mandolin (7248) | about 13 years ago | (#2849843)

"wasn't built here" syndrome (I believe it's called something else.)

NIH (not invented here)

Old hat (0)

Anonymous Coward | about 13 years ago | (#2849817)

I worked as a teaching assistant at Purdue and we had a coding checker back in 84-85. It compared parse trees of students programs. Did very well at catching those that just changed variable names and resubmitted work.

--morris meyer

uuuhhhh (0)

Anonymous Coward | about 13 years ago | (#2849818)

This is nothing new, I went/go to George Mason University and they've been doing that for a few years now, and not just for CS related courses ... I'm sure other schools have been too ... Ryan

Diff? (1)

jailbreakist (159158) | about 13 years ago | (#2849819)

Shouldn't sufficiently small diffs be enough to flag two assignments as potential cheats?

How exact? (2, Interesting)

Stiletto (12066) | about 13 years ago | (#2849820)

It better check for exact duplicates only, down to the variable names. Many undergraduate CS assignments are programs so basic that there are really only a few ways to implement them. It would suck to be a student who from scratch used the same algorithm as another student, and have them both flagged as cheaters.

Reuse? (2, Redundant)

Belly of the Beast (457669) | about 13 years ago | (#2849821)

I thought the point of OOP was reuse ???


I remember when my school did this... (5, Interesting)

gergi (220700) | about 13 years ago | (#2849824)

A few years ago, when I was a 2nd or 3rd year at Virginia Tech [vt.edu] , some professor implemented a cheating detector into the automated grader for a class called Intro to C++.
Prior to that year, VT had an average of 75 cheating violations for the WHOLE university (25000+ students). For that one class, on one assignment, 150 students were found cheating by the cheating detector... out of the 500 or so students in the class.

Funny as hell

Re:I remember when my school did this... (1)

kootch (81702) | about 13 years ago | (#2849916)

so does this represent a violation of the honor code was happening and just not detected, or that the class had the avg number of cheaters, but that they were actually caught?

of course, I'm assuming the technology employed wasn't buggy and was taking into consideration environmental factors...

Cheating detector (1)

mgv (198488) | about 13 years ago | (#2849825)

Of course, just plugging in sections of work into a google search engine can produce interesting results....

Probably of more value would be to compare results this year with previous years submitted answers. Although there would be alot of people out there with PhD's who would be in trouble if this time honoured method of passing exams and assignments was cracked down on.


So What (0)

Anonymous Coward | about 13 years ago | (#2849829)

They have been doing this at MIT for a few years...

Last year about 30% of the superhardcore undergrad Software Engineering 6.170 class was found to have lifted at least some of their code. They did it right after drop date too, so the kids had to petition to drop the class once they found out they would be failing...

Cheating Is Harder Than Actually Doing The Work (5, Funny)

KingAdrock (115014) | about 13 years ago | (#2849830)

I always found that it wasn't easy to cheat. If I copy and pasted somebodies code, I had to go back through and change it all around so that I couldn't be caught cheating. This often proved to be more difficult than actually doing the project myself would have been.

What about code off the net? (2)

Suicyco (88284) | about 13 years ago | (#2849834)

I use code I find on the internet all the time, first thing I do when I start a new routine as a matter of fact. I search for preexisting code and use/modify that accordingly. Of course only freely available code but there are tons of sources for that. How would this program detect that? I would trust some code I got from the net over something another person in class wrote, but then again I know enough to be able to see if the code is good or not and to modify it if I need to.

the real world is the same as school (2, Insightful)

Meech (166762) | about 13 years ago | (#2849835)

Mod me down for this, but consulting with a co-worker at a job and obtaining code from a fellow student is NOT the same thing. The purpose of going to school is to learn and therefore they want your work, not your friend's. At a job, they just want the work to get done, they don't care how you do it.

GPL it (2)

SanLouBlues (245548) | about 13 years ago | (#2849836)

If it were free and open, we could write white papers on why it sucks and/or improve it. That wouldn't be so bad.

Uh huh. (2)

elmegil (12001) | about 13 years ago | (#2849837)

So, when the instructor foolishly gives me an assignment that has a verbatim solution later in the book, and both me and Joe Student who I don't know and never talk to (or worse, my best buddy in the class) both turn in that verbatim solution, obviously we've cheated, right?

That's sarcasm for those of you unfamiliar with the stuff.

This is not news. (2, Informative)

bharath (140269) | about 13 years ago | (#2849838)

There are many programs out there for exactly the same purpose. For example, moss [berkeley.edu] at berkeley lets you do this over the net.

Not new (1)

aqu4fiend (528775) | about 13 years ago | (#2849839)

This is not really new at all. At my school (U toronto), a "cheaterbeater" program was used in *every* programming assignment we had. And it detected more than just exact matches - it could figure out if you copied someone's code, shuffled some lines around, changed variable names, or other surface changes that would trick T.A.s. Several people were caught with this program. Why is this article here? It even says in the article that it was developed in '93 !!

Plagiarism is bad, m'kay? (2)

OdinHuntr (109972) | about 13 years ago | (#2849840)

Cuz remember programmers: in the real world you are fired if you consult with a co-worker ;)

Well, actually, if you take work from another co-worker and pass it off as your own, you'll be fired and prosecuted.

Don't Plagiarise - it's the law. (And judging from the snide comment, probably the reason that CmdrTaco never finished college.)

the real world (5, Insightful)

bcrowell (177657) | about 13 years ago | (#2849844)

Cuz remember programmers: in the real world you are fired if you consult with a co-worker ;)
In the real world, you are fired if you steal code from someone else without their permission, pretend it's your own, and incorporate it into the app you're writing for your company. In the real world, people give credit where credit is due.

A lot of the stories I hear about students plagiarizing each other's code is done without the other student's permission. Many systems have files readable by other students by default, and students don't bother to read-protect their files. Students will take printouts out of the trash. And of course, it's always convenient for students to claim they didn't know the other person copied their work.

It's better for students if professors have an accurate way of detecting cheating. The worst thing is if the method is inaccurate, and innocent students get accused. This method sounds accurate.

Diff. (1)

jatbrowne (182386) | about 13 years ago | (#2849845)

Yeah, diff is basically it. There is minimal statistical stuff, they simply strip the comments, change the identifiers to x and check for similarities in the structure. We have it at our uni. Hell, they even mark our programming (beginners stuff) automatically.

This is no news at all. All the students need do is change a few whiles and fors and they are in the clear...

Who cares? If you need to cheat on hello world then you really do have a problem...

Not technologically impressive . . . (0)

Anonymous Coward | about 13 years ago | (#2849848)

. . . but what would you expect from a state that would try to have someone locked up and fined six figures for running a distributed.net client?


Nothing new, (2)

melatonin (443194) | about 13 years ago | (#2849850)

This isn't anything new (well, the thing said '93). The University of Toronto has used this for some time. I remember often after assignments were handed in, people would be called to see the TAs or the prof because they're assignments were 'too similar.' :)

The software that U of T uses was developed somewhere else, I thought it was MIT, but I could be wrong.

They didn't actually tell us that they were using this stuff, I found out after I graduated from reading it in the newspaper. So it's probably in widespread use, it's just not something CS departments brag about (I guess catching cheaters is fun).

Re:Nothing new, (2)

melatonin (443194) | about 13 years ago | (#2849880)

And to make it clear, this is not diff. I mean duh, how stupid is that?

The software that U of T used was apparently quite intelligent, and could tell if two algorithms/problem solutions were too similar, not just the text of the stuff that was handed in.

Cuz remember students: (1)

brucehappy (137202) | about 13 years ago | (#2849851)

If you can't program, switch to MIS.

Ignorance on the part of the poster... (5, Insightful)

Ionizor (175949) | about 13 years ago | (#2849853)

  • Cuz remember programmers: in the real world you are fired if you consult with a co-worker ;)

So how exactly does consulting with a fellow student (or co-worker) result in both parties having identical code? I have to say that this is the most ignorant comment I've seen attached to a slashdot story ever.

At my University they have the same code policy but they encourage you to work with others! Under no circumstances are you to copy their code line by line but you can certainly ask for their help or use a module or two. The only condition to all of this is that you credit them on the cover sheet of your assignment.

Sorry for the flame but I saw that comment and it made me quite irate.

My method... (2)

Wesley Everest (446824) | about 13 years ago | (#2849854)

When I was a TA, if I saw two assignments that looked suspicious, I'd hold them up side by side and cross my eyes to get the stereogram effect. If it was a bad cheating job, there would be an almost perfect match and my eyes would be able to focus on them, with the differences jumping out at me.

Of course, with freshman assignments, they tend to be pretty damn similar even without cheating (write C code to implement bubble-sort using the pseudo-code in the book as a guide). And usually, the students that were cheating would fail the tests, so there was little need to do anything special.

Why someone would pay tens of thousands of dollars to learn nothing and end up with a job that pays well but that they'll get fired from within a few weeks...

coincidence? I think not. (2)

tedtimmons (97599) | about 13 years ago | (#2849857)

Okay, like others have mentioned, think of diff:

* determines exact matches

umm, sure, diff does that

* written in 1993

I checked man on my machine and got this date: "22sep1993"



so if another university uses the same code (5, Funny)

Infonaut (96956) | about 13 years ago | (#2849858)

to stop cheating, will GT bust them for plagiarism? ;-)

Works on resumes??? (2, Funny)

Harlockjds (463986) | about 13 years ago | (#2849859)

I wonder if they will start using this on the resumes of their coaches from now on?

This seems like it could be fairly effective. (1)

Dephex Twin (416238) | about 13 years ago | (#2849861)

Based on the results, one should not blindly take action, but if these results are used as a guideline for further inquiry, it might be a help. I know that this sort of cheating can get rampant, at least where I went to school. And even if you are working with other students to figure out a program, it's pretty unlikely that all the positioning of characters in chunks of code would be identical.

It might seem like the face recognition stuff that's controversial right now. But the important differences between these two things are:

- it can be done much more precisely with code.

- this is for school assignments, not unknown checks in public places.

Seems like this wouldn't be too hard to trick, if someone could run a script that would randomly insert spaces, tabs, comments etc. throughout the code.


A Sad Fact (2, Interesting)

CTalkobt (81900) | about 13 years ago | (#2849862)

but there is a lot of cheating in undergraduate courses.

I was one of the better students in my comp-sci classes and so other students looked for me for help etc. I would routinely point them to my own finished assignments as example of how to do something or provide listings in which we would discuess the assignment and how to do things.

This worked well until I got called before the teacher in regards to two students having taken my listings and typed them in ( with practically no modification whatso-ever ). I explained the truth - that I provided it for purposes of instruction not stealing and managed to escape. The other students were forced to retake the course.

After this incident I kept my eyes wider open and noticed more students "copying"...

It happens. Whether this program is really needed or not I think is more an indication of how well the teacher stresses the students on final exams and such.

Lazy? (0)

Ender7A (191315) | about 13 years ago | (#2849863)

Back in my day, my teachers actually LOOKED over our code. Wont This just make it more convienent for teachers to ruberstamp grades and not bother to check and make sure that you code is elegant and not spaghetti crap?

Cheaters cheat themselves (1)

waylander (4478) | about 13 years ago | (#2849864)

Writing a computer program is an exercise in understanding the basic fundamental operations on a computer. Personally I don't want a guy with a CS degree that I hired to come up to me and say "no, I can't figure this problem out. I borrowed all my code from my friends." My response, "may I have your friend's contact info so I can hire someone who can get the job done?". Good grief, the early CS projects are "hello world", and some basic algorithms. They are pretty much canned and it is really important for someone to have a grasp of those fundamentals before moving on.

Later projects need to include collaboration and workgroup projects.

Just my $.02.

i don't see anything wrong with this (1)

xnerd00x (92166) | about 13 years ago | (#2849867)

CmdrTaco writes a little blurb implying that this program will show as cheaters any students that have shared ideas with each other, but I don't see that with this program. From the article:

``But for the most part, the degree of similarity that this program is looking for - the commas are in the same place, the semicolons are in the same place, the spacing is the same, they've made the same mistakes - the only explanation, and what most students will eventually concede, is they actually did it,''

This type of thing should be caught and should be punished. Some people just don't belong in CS, and they should be weeded out instead of riding on another's shoulders.

If there is a God (1)

roystgnr (4015) | about 13 years ago | (#2849870)

And if he believes in karma, then Rob will spend the rest of his days being the coworker who has to be continually "consulted" by shouldn't-have-graduated CS cheaters who can't write anything themselves.

Didn't get caught (1)

twisted_pickle (528898) | about 13 years ago | (#2849871)

There were several people that got caught 'cheating' last year in one of my CS classes last year at the Univerisity of Washington. The software they used to check the homework, which is always electronically submitted, went beyond looking for exact matches; it also looked for similarities in code structure that had merely variable names changed. In exchange for some donuts once I gave a snippet of code to my roommate, who was also enrolled in the course, but we were smart enough to make the code look completely different in his submission so we didn't get caught.

Old Proverb (1)

bdktty (241335) | about 13 years ago | (#2849872)

Those who can't do, teach.

Those who can't teach, prevent colaboration.

Besides - those topics aren't covered until
CS3300 (Team based Software Engineering)

consulting != copying (2)

Restil (31903) | about 13 years ago | (#2849874)

Heck, even in the open source world, I can't copy someone else's program verbatim and claim I wrote it.

Even if two people work together on a project, as long as they write their code separately, the code will be significantly different enough that it shouldn't be recognized as cheating.

Probably what this will catch is the last minute "Quick, let me copy your program" right before it's due. And this DOES happen, and I find nothing "right" about that at all. That IS cheating, plain and simple, and should be stopped. In a class of 30 students, the instructor (or TA's) will probably be able to notice similarities. In larger classes, its easy for these things to slip by, especially if the grading process is split amongst multiple TA's.


reimplimentation (0)

Anonymous Coward | about 13 years ago | (#2849876)

Boston University has been using software developed at a university in California (if someone knows where, post) for about 3 years now that does the same thing. It is known to make mistakes and a human must check those papers deemed plagarism to concur the programs decision, but it is still very useful for the purposes of a university where they expect you to do your own work. I know many people who have been accused and suspended because of it, mainly because they didnt believe the professor when he told us about the software the first day. Though a lack of collaboration is not realistic when applied to post-college experiences, it is invaluable for the university to ensure that we are getting what we pay for (because most people honestly dont seem to want to learn, so the school tries to make sure they do.) It is also useful because most cs classes are curved and if you have half of the class cheating, they are royally dimishing the chances of good grades for those who do their own work.

It is a questionable practice, but in this specific setting, I believe it is nessicary, though a nessicary evil perhaps.

BU student

Been around for ages (1)

da_bza_420 (530893) | about 13 years ago | (#2849878)

I am a fourth year CS undergrad at Tech and they have had this system in place at least since I took these classes as a freshman, and I know that it was there even before that. A friend of mine got caught one time because he let someone look at his old code, and the idiots copied it and changed variable names. Some people never learn... I am curious as to why its getting all this media attention (this is the third media report I've seen on it) as its been at Tech in some incarnation for at least 4 years.

Bad Reinforcement (1)

spatrick_123 (459796) | about 13 years ago | (#2849879)

This encourages students to write horribly obfuscated programs that only barely compile (in the hopes that nobody else would do anything taht bizarre)...in other words, it prepares them for the real world nicely. :-)

Nothing new (1)

wkurdzio (32436) | about 13 years ago | (#2849881)

This isn't anything new. I'm a student at Virginia Tech [vt.edu] , and the CS dept. has used a "cheating detector" for some years now. It's quite evolved and doesn't only detect obviously copied code (exact copies and copies w/ renamed variables, functions, etc.) but indications of cheating such as a section of code with a drastically different coding style than the rest of the code. It's quite good, and the CS instructors often brag that while it's rarely a case that students cheat (the Honor Code here is a point of pride), the program's garunteed convictions in the Honor Court.

Obfuscator App (1)

jeff67 (318942) | about 13 years ago | (#2849884)

Looks like there's finally a market for my new product idea: A code obfuscator that also accesses a thesaurus to substitute different meaningful identifier names!

Cheating (5, Interesting)

Carnage4Life (106069) | about 13 years ago | (#2849886)

CmdrTaco says:
Cuz remember programmers: in the real world you are fired if you consult with a co-worker ;)

As someone who TAed classes at GA Tech, I take a lot of offense at this comment. There is a difference between working as a team on project based classes (of which GA Tech has a good number off including classes where we got to hack the Linux kernel and another where we got to deliver a product to a customer) once you've shown you understand the basics of programming and wholesale copying of other people's work in entry level classes where you are supposed to be learning to program on your own.

Beginning programmers need to learn how to program, find information from MAN pages & API docs, and come up with solutions on their own before being introduced into team based environments. If not they never learn how to be self sufficient or even if they are cut out for programming at all.

It is true that in the real world no man is an island but on the flip side, how many people have worked with co-workers who completely clueless about how to perform their jobs but held degrees or certifications that implied they shoould be knowledgeable about programming? These are the kind of people who hid behind the work of others in team based projects and submitted others work on individual projects.

Get some transparancies (2)

hardburn (141468) | about 13 years ago | (#2849887)

My high school CS teacher once found a few identical programs. He printed out the source code to some transparancies, then lined them up, one on top of the other, on the overhead projector. The only blurred spot was the comment with the students' names.

UCLA had this in 1985 (2, Informative)

TokyoJimu (21045) | about 13 years ago | (#2849888)

When I was taking programming classes in the mid '80s at UCLA [ucla.edu] , they had a rather clever cheating detection program. It didn't look at the source (Pascal or C) code, but rather at the produced assembler code to see if students were copying others' algorithms.

So you might obfuscate your copied code by moving it around, changing variable names, etc. but it would still catch you.

Not news / Stupid people deserve to be caught (1)

StCredZero (169093) | about 13 years ago | (#2849889)

Someone did this as a Master's project when I was in grad school 5 years ago. Not new. Not news.

Also, this is another case of "Stupid people deserve to be caught."

But for the most part, the degree of similarity that this program is looking for - the commas are in the same place, the semicolons are in the same place, the spacing is the same...

It wouldn't take a lot of thought to alter these factors. Like I used to tell my undergrad students when I was a graduate TA, if you're not smart enough to answer the questions, you're probably not smart enough to cheat either.

Even in the case of "the mistakes are the same" -- if your verification and debugging skills are that bad, you still deserve to be caught!

Info on cheating detector (5, Informative)

kramer (19951) | about 13 years ago | (#2849894)

Some more info on the cheating detector from a Georgia Tech Alum of the CS program.

1. The cheating detector is not new. It's been in place for years. When I took intro programming in 1994 they mentioned it, and it wasn't new then.

2. Everybody at Tech knows about it. They tell you about this script the first day of class. Nobody here should be suprised they were caught. The fact that they were caught only shows them to be some of the stupidest people at Tech.

3. It catches people every term. Usual numbers are below 5% range. The fact that it caught someone isn't news. The fact that it caught 10% of a class is news.

4. These classes are cake. There is no reason anyone should need to cheat to pass these classes. They are the most basic concepts of programming.

Used at UF for a while (1)

mattbelcher (519012) | about 13 years ago | (#2849898)

A system similar to this has been in place for a while at the University of Florida. I talked to several of our professors using it and they claim that it is quite effective. It detects the obvious ways that students try to obfuscate their cheating, e.g. changing variable names, whitespace, etc. Whenever the program turns up a match, the professor examines them by hand before calling the students into his office. In almost all cases, the students confess. The first semester it was put in place, nearly a third of the students in the Intro course were caught cheating! The rate hasn't been that high since. When the programs assigned are sufficiently complex, the odds of finding two people with the exact same decision tree is quite small.

A similar system [columbia.edu] was developed at Columbia.

Moss (1)

melanarchy (109486) | about 13 years ago | (#2849900)

I wonder if this is anything like the MOSS (Measure Of Software Similarity) program developed at Berkeley in 1998?

The press release here. [berkeley.edu]

You can also see the MOSS website here. [berkeley.edu]

As a student at Rensselaer Polytechnic Institute I had a teacher run the entire classes code through MOSS for each assignment last semester, and aparently caught several people who had very similar code.

MOSS also has the ability to detect similarities in software strcuture as opposed to just checking for exact duplicates of code.

CS students who cut and paste each others code deserve to be caught in my opinion.

The problem (0)

Anonymous Coward | about 13 years ago | (#2849904)

Homework Assignments:

1) Write a program that takes in a temperature in Farenheit and converts it to Celsius. Have the program diplay the correct result on the screen to two decimal places.

2) Write a program that will calculate the day of the week of any date in history*. Use the following formula: ...

3) Write a program that will send a form letter to everyone in the class. Use the following list of names: ... And use the following template for the the form letter: ...

The problem is that the solutions to these programs are going to be pretty similar across the students' submissions.

Half the class fails... (1)

Monte (48723) | about 13 years ago | (#2849905)

...because they all declared "i" as an integer...

University of Virginia has one too (2)

wiredog (43288) | about 13 years ago | (#2849915)

Summary [umn.edu]
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?