You are expected to regularly check your HWS email
and the course web page (especially the syllabus page). Assignments,
handouts, examples from class, and other material will be posted on
the syllabus page. Announcements are generally made at the start of
class, but email will be used in the case of a particularly
time-sensitive announcement and for other communications that are
only relevant to a few people in the class.
The HWS Principle of Academic Integrity governs all
of the work completed in this course. Specifically:
Exams are to be completed solely by the student
whose name is on the paper. Exams are closed book, and the
only person you may discuss them with is the instructor.
Programming assignments and the final project
are individual assignments. You may discuss ideas with and get help
from the instructor, Teaching Fellows, and other students in the
course but you must acknowledge the help received in
writing, you must fully understand the help received
(i.e. you must be able to explain your solution to someone else),
and what you turn in for a grade must be your own work.
Labs are group assignments. You are allowed - and, in
fact, required - to collaborate fully with the members of your group,
but you individually must fully understand the end result (i.e. you
should be able to explain the solution to someone outside of the
group). As with programming assignments and the final project, you
may discuss ideas with and get help from the instructor, Teaching
Fellows, and other students in the course but you must acknowledge
the help received in writing, you must fully understand the
help received (i.e. you must be able to explain your solution to
someone else), and what you turn in for a grade must be the group's
"Your own work" (or "your group's own work") means that the ideas and
the effort to mold those ideas into a working solution are your own
(or your group's). Copying part or all of someone else's solution is
expressly prohibited and it is never acceptable to be in possession of
someone else's program or solution before you have handed in your own.
This includes both computer files and paper copies. Decompiling or
reverse-engineering someone else's code (including provided code) is
also prohibited. All of this should be obvious: using someone else's
program "as a guide" to completing your own is plagiarism. In
addition, you may not work together with someone else (for individual
assignments) or someone outside your group (for group assignments) to
write code or construct a solution. This means that discussions with
other students in the course should be limited to ideas or approaches,
away from the computer; go to the instructor or the Teaching Fellows
for debugging help or help with the specifics of constructing the
It is OK to use other materials (such as reference books or websites)
as technical references to learn about an aspect of Java or a data
structure. However, there are two conditions: looking for and/or
copying a solution is not acceptable (even if you make some
modifications), and you must include a comment in your program
identifying the source (e.g. the website URL). See "Plagiarism in
Programs and on Problem Sets" below for more information on the
difference between a reference and a solution.
The purpose of these rules is to make sure that you learn the material
so you can solve the next problem instead of getting an answer that
only addresses the current problem.
Failure to acknowledge help received will generally result in a
warning the first time, and point deductions for subsequent offenses.
Submitting work which is unreasonably similar to another person's work
and/or not being able to explain any part of your solution will
result in a minimum penalty of a 0 on the assignment. A second such
offense is grounds for failure in the course. Plagiarism offenses may
also be referred to the Committee on Standards.
There are no exceptions to this policy; ignorance of the
policy and desperation ("It was the night before it was due and there
wasn't anyone else to ask!") are specifically not excuses for
violating the policy. If you are having trouble with the course
material, come to the instructor! - it is never advantageous to
"borrow" someone else's solution, and the time spent trying to
disguise this "borrowing" is far better spent getting help.
From the HWS Catalogue: (available online at http://www.hws.edu/catalogue/policies.aspx)
of Academic Integrity
The faculty of Hobart and William Smith Colleges, recognizing the
responsibility of the individual student for his or her own
education, assumes honesty and integrity in all academic work at the
Colleges. This assumption is the foundation of all intellectual
efforts and lies at the heart of this community. In matriculating at
the Colleges, each student accepts the responsibility to carry out
all academic work with complete honesty and integrity and supports
the application of this principle to others.
Categories covered by this principle include, but are not limited
to, the following:
- Examinations: Giving or receiving assistance during an
examination or quiz violates this principle.
- Papers: The adoption or reproduction of ideas, words, or
statements of another person as one's own, without due
acknowledgment, is considered plagiarism and violates this
- Library Use: Failure to sign for materials taken from the
library and similar abuses of library privileges infringe upon the
rights of other students to fair and equal access and violate this
- Reports and Laboratory Exercises: Giving or receiving
unauthorized assistance and the fabrication of data or research
results violate this principle.
- Computer Use: Any deliberate attempt to prevent other
users access to computer services, deprive them of resources, or
degrade system performance violates this principle. The use of
programs or files of another computer user or the use of another
person's account number or password without permission also
violates this principle.
Academic dishonesty is determined in every case by the evidence
presented and not by intent. Questions of intent and circumstances
under which an infraction occurred may be considered in determining
Programs and on Problem Sets
As with papers, verbatim copying of programs and problem solutions
constitutes plagiarism. Also as with papers, plagiarism is not
limited to verbatim copying - copying the significant ideas and
structure of someone else's program/problem solution also constitutes
But aren't all programs which solve the same task/solutions to the same
problem pretty much the same, so won't my program/solution look like everyone
else's even if I worked by myself?
It is true that programming languages are simpler and more structured
than human languages like English, and so two independently-written
programs solving the same problem will be more similar than two
independently-written papers on the same topic. However, "more
similar" doesn't mean "the same" - there is still flexibility in many
aspects of the program, and each programmer will express themselves
somewhat differently. It is clear when two programs were derived from
the same source, and I routinely run a plagiarism-detection tool on
Problem sets are similar - there is enough room for variation in most
solutions for it to be clear when solutions were derived from the same
Programming/problem solving techniques are often explained via examples -
what's the difference between using an example and "copying the
significant ideas and structure"?
Nothing - the whole point of examples is to provide the significant ideas and
structure of the solution, with the idea that the details would be modified
for the particular situation.
OK, then, so I can't use any examples because that constitutes
No, not exactly. What is and isn't allowed is a matter of degree. Let's
first define "example" and "solution":
- An example illustrates a technical point or problem-solving
strategy, applied to a different problem instance than the one you are trying
to solve. An example can't be used as-is to solve your specific problem, but
can be adapted to address some aspect of the problem. For example, an example
demonstrating the proper syntax for a while loop is OK to use when writing a
program which involves a while loop (as long as the point of the problem isn't
to write exactly the while loop given in the example).
- A solution gives a significant amount of the answer to
your particular problem (or an extremely similar problem). Quantity
is relevant here - you may view something as just an example (because
it doesn't solve your exact problem), but if a single source covers
most of what you need to do, it may well be what I consider a
Using "examples" (as defined above) is generally OK but using "solutions" is
There's a fuzzy middle ground here, and I'm still not sure exactly
what is OK and what isn't.
Then ASK! - before you get into whatever situation you are wondering about. A
few additional guidelines which may help:
- Any materials provided as part of the course (examples in the textbook,
from class, and directly posted on the webpage) are acceptable to use/adapt
(unless specifically forbidden, such as on exams).
- Any solutions written by another
student (either this term or in previous terms) are not acceptable to use as
"inspiration" or a guide when you are working on the same assignment.
(Looking at someone else's work later, after the assignment has been handed
in, is fine.)
- Use caution with materials from other sources - think "examples,
not solutions" and ask if you have any questions. In fact, ask even
if you are sure something is allowed. (Specifically looking through
other materials to find solutions to problems you've been assigned is
Use common sense - the purpose of assignments is for you to practice
and gain understanding of the material, and for you to demonstrate
what you have mastered. If you are mostly just tweaking something
written by someone else - even if you spend a lot of time renaming
variables and inserting comments - then that is plagiarism.
- Apply the "what have you learned?" test: copying someone else's
solution and then making a few changes means that perhaps you have
learned a solution for the particular problem, but you haven't learned
anything about the process of coming up with the solution. The
process is the important part - if all you know is a particular
solution, you can only ever solve that exact problem, but if you know
how to figure out solutions, you can solve any problem. Using an
example (as defined above) is OK because you are still involved in the
process (you have to adapt the example to your particular
circumstances) but using a solution is not because it shortcuts the
process by going straight to the answer.
Disability Accommodations: If you are a student with a disability for
which you may need accommodations, you should self-identify, provide
appropriate documentation of your disability, and register for
services with the Coordinator of Disability Services at the Center for
Teaching and Learning (CTL). Disability related accommodations and
services generally will not be provided until the registration and
documentation process is complete. The guidelines for documenting
disabilities can be found at the following website:
Please direct questions about this process or disability services at
HWS to David Silver, Coordinator of Disability Services, at
firstname.lastname@example.org or x3351.