Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/3/84; site grkermi.UUCP Path: utzoo!linus!philabs!cmcl2!harvard!talcott!panda!genrad!grkermi!andrew From: andrew@grkermi.UUCP (Andrew W. Rogers) Newsgroups: net.cse Subject: Re: "Editing output, is it the only problem?" Message-ID: <627@grkermi.UUCP> Date: Mon, 23-Sep-85 14:04:35 EDT Article-I.D.: grkermi.627 Posted: Mon Sep 23 14:04:35 1985 Date-Received: Wed, 25-Sep-85 12:32:41 EDT References: <5560@fortune.UUCP> Reply-To: andrew@grkermi.UUCP (Andrew W. Rogers) Organization: GenRad, Inc., Concord, Mass. Lines: 87 In article <5560@fortune.UUCP> dove@fortune.UUCP (Michael Dove) writes: >Where I went to school, editing output was not as bad a problem as some >others I have seen... I graded intro FOOTRAN assignments in the early 70's. Back in the Card Age, editing output was obviously an impossibility... but one clever student wrote a program to fake a compile/load/run job (even logging the spurious job on the operator's console)! He scheduled the FOOTRAN compiler and loader directly from his program (instead of via JCL), sent the listing and load map to a scratch tape, wrote some dummy output to avert suspicion, faked the JCL for a new job (both to the line printer and console), copied the tape back to the printer (doctoring the date/time along the way), and appended the "correct" results (part of his data). >The big problem was more of code copying. People would trace through >the class directories for people who either accidentally or purposely >left permissions to their directories and files so the world could >read them. So you have 20-30 people who would snag a copy of it, spend >30 minutes doing global substitutions of variable names, etc, change >the comments, and turn them in. It is real hard for an instructor to >notice this so most people got away with it... I encountered the same thing back in the Card Age! Occasionally some jerk would be dumb enough to rip off someone else's deck and resubmit it under his own name; more often, though, I saw the Card Age equivalent of what you describe above: someone would steal/"borrow" someone else's deck (or listing) and rip off the algorithm, change the variable names and line numbers (speaking of archaic concepts), repunch it, and submit it as his/her own. The very earliest assignments could basically only be done one way with the statements covered at that point, so this was hard to detect; as the assignments became longer and more complex, it became more obvious. There was a long series of articles (either in CACM or the SIGPLAN Notices) about various automated mechanisms to detect programs that might possibly be collusions or ripoffs; however, if an instructor can write such software, there's probably a student who can write something to disguise a "borrowed" program! (Probably harder than writing the assignment in the first place, but who can deny the hack value?) >The only problem these people had to worry about was if the person they >got this copy from had a good program originally. I admit that two programs which generated the same erroneous output would probably be scrutinized more closely than any two correct ones... but that only means that the ripoff artist would have to test the stolen program first, and try another if it was wrong! (A clever instructor, of course, could deliberately put a program with a *very* subtle bug in a publicly- readable directory owned by a fictitious student, and then test all submitted programs with data designed to trigger the bug! Those that failed would be subject to closer scrutiny, since not every program with the bug would necessarily be a ripoff.) >I have never known of anyone who has ever been caught, but there were oodles >of people doing it. It is also one of those things that is hard to >stop. The question arises, who has the original code? On occasion, two suspiciously similar - sometimes identical - assignments were handed in... but there was nothing I could do to distinguish the original author from the plagiarist or to prove collusion. (Exception: when three members of the same frat turned in exactly the same assignment, I split the credit between them.) Usually I would write a polite note on both assignments, saying "Person A: Person B has handed in an identical assignment", and vice-versa, giving photocopies of the assignments to the instructor, and leaving up to the plagiaree (?) to report the plagiarizer to the discipline committee. So far the discussion has centered on students editing output and stealing programs from others *in the same class*. What about recycling programs from previous classes? A lot of the assignments - particularly in the intro level courses - didn't change for years at a time, and it wasn't especially hard to find someone who still had listings or even (gag) decks. While an instructor/TA/grader may be able to detect two identical programs in the same batch, s/he certainly won't remember having seen a program the previous semester! (The obvious solution is to assign different programs each time the course is offered, but some instructors are concerned that the course might thus be easier one term than another.) How long will it be before the term paper ghostwriting (excuse me, "academic research") services turn into "custom software" houses? When will some enterprising soul publish the answers (including sources in listing and floppy disk form) to all the questions in a widely-used intro CS text - as a "study aid", of course, with some totally unconvincing disclaimer added? Andrew W. Rogers Brought to you by Super Global Mega Corp .com