Subject: Re: Code Cheats in College
From: "Forrest J. Cavalier III" <>
Date: Tue, 14 May 2002 16:40:21 -0400 (EDT)

"Jonathan S. Shapiro" <> wrote, in part:

> The purpose of programming assignments isn't to produce code. That is
> purely secondary. The purpose of programming assignments is to force the
> students to master particular pieces of of subject matter. 

Look at what the students do and spend their time on!  I'm sure that
they feel that the task of these programming assignments is
primarily to produce working code.  That is what you must do first.

Mastering the "particular pieces of subject matter" comes second,
and only to the brightest students who have the time left over.

The quoted Tartan story indicated the problem was that they did
not perform the assigned task  ("produce original code") not
that they plagiarized.  

It would be interesting to see what the assigments actually are.
I do not see how starting from scratch is necessary for the
goals of 15-211.

   15-211 Fundamental Data Structures and Algorithms
   Fall and Spring: 12 units
   Fundamental programming concepts are presented together with
   supporting theoretical bases and practical applications. This course
   emphasizes the practical application of techniques for writing and
   analyzing programs: data abstraction, program verification, and
   performance analysis. These techniques are applied in the design and
   analysis of fundamental algorithms and data structures. The course is
   currently taught in Java. Prerequisites: 21-127 and either 15-111 or

How much correct code can a sophomore student be expected to write for
a single CS course each week?  200 lines?  1000 lines? How interesting
is 200 lines of code?

Yes, programmers need to be able to write code when they graduate, so
producing new code has to be part of the assignments.  But why
do they start with nothing?  

How often does any programmer's real-world task start with no
code in place?