bill@inteloc.UUCP (09/13/84)
Dear RSK: Assuming that the "no games" policy is unchangeable and must be enforced somewhat rigidly, here is a possible solution: Keep track of the game sources mailed over the net. Compile them yourself, and keep both in a file private to some super-user. About once a week, go waltzing through the new files on the system, looking for those of a length similar to the new games (a shell could do this,running in the background). Run "diff" on any suspicious matches. If the output from "diff" is 'sufficiently' small, make a check by eye. Finally, send a wakeup signal to the appropriate wrathful (wraithful?) authority. This is minorly time-consuming if done by humans on a formal basis. However, much of the preliminary work can be automated, and run under a "nice" priority. The "diff" matches will allow you to find files that have been minorly altered. Note, however, that the way the students can beat this is to take the original source file (if you don't clobber it first), strip out the old comments, put in a new set (say, from the most recent data structures assignment), and then run global changes on most of the variable names. This would hide the source code beyond your checking threshold. As for the object file, a few blocks of dummy code (while false loops, etc) could disguise the valuable stuff pretty well. Basically, how devious are your students, and how much trouble are you willing to sustain to stop the games? At my undergrad school, the powers-that- be didn't get rid of the Star Trek game until they changed machines and quit supporting the old language. Of course, new versions cropped up, but it solved the problem for over two years. P.S. Please don't claim to be "THE Indiana University" when you can't pull the resources to support recreational learning. Ball State has a similar policy, but IU put no such restriction on us, and the students' abilities and interest were proportionately enhanced. -- T.F.Prune (Bill Wickart) {allegra | ihnp4 | tektronix} !ogcvax!inteloa -- "Operator, trace this call and tell me where I am"