Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 8/21/84; site styx.UUCP
Path: utzoo!linus!decvax!decwrl!sun!idi!styx!mcb
From: mcb@styx.UUCP (Michael C. Berch)
Newsgroups: net.unix,net.cse
Subject: Re: students editing output
Message-ID: <12378@styx.UUCP>
Date: Fri, 13-Sep-85 16:50:35 EDT
Article-I.D.: styx.12378
Posted: Fri Sep 13 16:50:35 1985
Date-Received: Sun, 15-Sep-85 05:03:23 EDT
References: <433@uvm-cs.UUCP>
Reply-To: mcb@styx.UUCP (Michael C. Berch)
Followup-To: net.cse
Distribution: net
Organization: Lawrence Livermore Laboratory, Livermore, CA
Lines: 39
Xref: linus net.unix:5013 net.cse:375

In article <433@uvm-cs.UUCP> hartley@uvm-cs.UUCP (Steve) writes:
> [How to grade programming assignments if students can edit the output?]
>
>   The only way I know of to check a student's work is go through a demo.  But
> this is terribly time consuming, and it is hard to set a precise due date
> (unless you check file modification times).
>   What do other people do?  Thanks.

When I was an undergrad at UC Berkeley, a common practice on the UNIX 
systems for grading programming assignments was for the student to 
demonstrate the code to the reader (grader) in person. This worked relatively 
well.  By the time I got to be a reader there were too many students
for this to be feasible. We went to grading printouts; in a beginning
class you can pretty well tell whether source program P produced
output file Q, but it is more time-consuming in advanced classes.

In one class the readers were set up as group-superusers (this was V6)
and required that the students leave a copy of the source program in a
certain directory in their account with a certain title, explained how
modification times worked, and required that the mod time on the program 
file be before the deadine. Then the readers would su to the account and read, 
compile, and execute the program, and leave the grade and comments in a 
file or mail them.

This worked quite well. (Uh, actually, there was some minor silliness
involving the group-superuser's PATH, which included "." first. One
enterprising student [OK, I admit it...] who had completed his program
late improvised by writing a "version" of ls(1) that, er, fibbed about 
mod times. At a later date, somebody else wrote a program that took, ah,
certain liberties with unprotected inodes.  But those are stories for a
different list . . .)

My advice is to compile things yourself and watch 'em run, while
keeping in mind the fact that the hacker quotient in CS classes has
changed dramatically in the last few years. 

Michael C. Berch
mcb@lll-tis-b.ARPA
{akgua,allegra,cbosgd,decwrl,dual,ihnp4,sun}!idi!styx!mcb