|
|
DCS Academic Integrity Policy
Programming Assignments
The purpose of programming assignments is to have students develop the
skill of writing programs embodying concepts taught in class. Programming
assignments must therefore be done independently unless explicit instructions
are given describing the collaboration permitted (e.g., a team project).
What is a "program not developed independently"?
A program will not be considered as work done independently if it, or significant
portions of it, are equivalent to another program, using typical measures
used in the discipline. In an effort to clarify these notions we provide
below some frequently occurring examples of unacceptable similarities between
programs. These examples should however not be interpreted as providing
a complete list.
Two (fragments of) programs are considered equivalent if they contain
highly unlikely and consistent errors
or differ only in ways that are inessential to
their execution. The following are examples of such inessential
differences
-
Inessential formatting differences include, but are not limited
to, indentation of lines, the number and placement of blank lines, and
the style and placement of comments.
-
Inessential syntactic differences include, but are not limited to,
-
Variable Names: The variables of one program are a renaming of the
variables of another.
-
Reordering: Sections of code (procedures, methods, classes, members)
in one program are a reordering of code from another program, in a way
that does not affect the program's function.
-
Inessential semantic differences include, but are not limited to
-
Control structures: There are well known equivalences between different
kinds of control structures, or different ways of using the same control
structure. Here are two examples, out of many, of such equivalences:
if (x==y) print "equal";
else print "unequal" ; |
if (x!=y) print "unequal";
else print "equal" |
| for j=1 to k { print j;}; |
j=1;
while( j<=k )
{print j; j=j+1;}; |
Note that the department, along with many of its peer institutions, compares
program for untoward similarity using automated tools, including ones that
perform textual comparison and ones that check behavior under various inputs.
Instructors review these reports and make a final assessment whether two
programs are, or are not, significantly equivalent.
Penalties.
Violating the rules for developing programs independently vary from Level
One to Level Three, depending on the specifics of the
situation.
Level Three Violations
Purchasing a solution, offering an assignment as a work for hire, or violating
Rutgers
Acceptable Use policy to obtain a solution is a
Level
Three Violation.
Level One and Level Two Violations
All other violations of academic integrity on programming assignments will
be treated as either a Level
One Violation or a Level
Two Violation as determined by the instructor and Dean. A Level One
violation will carry with it sanctions not to exceed a zero on the submitted
work. A Level Two violation may include sanctions that go beyond a zero
on the submitted work.
All violations of the Rutgers
Academic Integrity Policy will be reported by the instructor to the
appropriate Dean.
Responsibility
Please remember that the person whose work is copied is also
considered responsible for violating academic integrity principles.
Take special care to protect your files, directories, and systems
appropriately, and be sure to discard printouts so they cannot be
retrieved by others (e.g., do not discard printouts in public
recycling or garbage bins until after the assignment due date is
passed).
January 2004 |