Academic honesty is a very serious matter. We are very saddened
by the fact that isolated incidents of academic dishonesty occur
almost every year the course is taught. These resulted in very serious consequences
for the students that took part in them. Note that academic offences may
be discovered and handled retroactively, even after the semester in which
the course was taken for credit. The bottomline is this: you are not
off the hook if you managed to cheat and not be discovered until the
semester is over!!
You should never hand down code to students taking the
course in later years. This will likely land you both in a lot of trouble!
- Tests and exams in this course must be strictly individual
- Each assignment will have a programming component and
a written component. Assignments will be strictly
- For programming components of an assignment:
Collaboration on a programming component by individuals (whether
or not they are taking the class) is encouraged at the level
of ideas. Feel free to ask each other questions, brainstorm on algorithms,
or work together at a blackboard. Be careful, however, about copying the
actual code for programming assignments or merely adapting others'
code. This sort of collaboration at the level of artifacts is permitted
if explicitly acknowledged, but this is usually self-defeating. Specifically,
you will get zero points for any portion of an artifact that you did not
transform from concept into substance by yourself. If you neglect to
label, clearly and prominently, any code that isn't your own or that
you adapted from someone else's code, that's academic dishonesty for the
purpose of this course and will be treated accordingly.
- The principle behind the collaboration rule is simple: I want you to
learn as much as possible. I don't care if you learn from me or from
each other. The goal of artifacts (programming assignments) is simply
to demonstrate what you have learned. So I'm happy to have you share
ideas, but if you want your own points you have to internalize the ideas
and them craft them into an artifact by yourself, without any direct
assistance from anyone else, and without relying on any code taken from
others (whether at this university or from the web).
- There are some circumstances under which you may want to collaborate
with someone else on the programming component of an assignment. You and
a friend, for example, might create independent parts of an assignment,
in which case you would each get the points pertaining to your portion,
and you'd have the satisfaction of seeing the whole thing work. Or you
might get totally stuck and copy one subroutine from someone else, in
which case you could still get the points for the rest of the assignment
(and the satisfaction of seeing the whole thing work). But if you want
all the points, you have to write everything yourself.
For purposes of this class, academic dishonesty is defined
- Any attempt to pass off work on a test that didn't come straight
out of your own head.
- Any collaboration on artifacts in which the collaborating parties
don't clearly and prominently explain exactly who did what, at turn-in time.
- Any activity that has the effect of significantly impairing the ability
of another student to learn. Examples here might include destroying the work
of others, interfering with their access to resources (eg. digital cameras),
or deliberately providing them with misleading information.
[Note: this policy, with minor modiciations, was developed by
Michael Scott at the University of