CPSC 327 Data Structures and Algorithms Fall 2006

CPSC 327 Course Policies

You are expected to be familiar with the course policies stated below. Ignorance of a policy is not an excuse for violating a policy or being surprised when it is applied to you, and will not exempt you from its penalties.


Email/Web Policy

You are expected to regularly check your HWS email and the course web page (http://math.hws.edu/~bridgeman/courses/327/s06/) for announcements or other important information.

Announcements, assignments, handouts, and other information relevant to the class as a whole will be posted on the course web page. Email will be used in the case of a particularly time-sensitive announcement (e.g. an announcement about a homework which is due in the next class meeting) or for matters which are only relevant to a few people in the class.


Attendance and Participation

You are expected to attend and participate in class. Showing up late may count as an absence. "Participation" means that you are engaged in class - you are not expected to volunteer for everything, but you should contribute to the class in a meaningful way multiple times throughout the semester.

Unexcused vs. excused absences: "Unexcused" does not mean "didn't provide an excuse", but rather "didn't provide a sufficiently good reason". Things like being too busy or oversleeping are not good reasons. Absences due to things such as sports competitions, official Colleges activities such as musical performances or debate competitions, academically-related events such as attending a conference, serious illness, or personal or family emergencies are considered excused absences.


Late Policy

Exams are due at the time stated. Late exams will only be accepted as outlined under "Make-Up Policy/Extensions" below.

Homeworks are due at the start of class on the due date. Late homeworks will not be accepted, but the lowest three individual problem scores will be dropped when computing the homework component of the final grade.

Programming exercises are due at the start of class on the due date. Late programming exercises will be penalized 5% if turned in by midnight on the due date and 10% per day thereafter, including weekend days and holidays. In cases where there are multiple problems or parts in an assignment, completed parts may be turned in on time and late penalties will be assessed on only the parts that are late. Percentages apply to the total points possible on the assignment or part of assignment, not the number of points you earned (i.e. a project worth 100 points will have 20 points deducted for being two days late).

End-of-semester SuperDeadline: No work will be accepted after the end of the timeslot in which the final exam is scheduled.

Note that computer labs may not be available at all hours or over college holidays, so be sure to take this into account if you are relying on those facilities. Furthermore, labs tend to get very busy right before deadlines, especially at the end of the semester. "I couldn't get my work done because I couldn't find a computer!" is not a valid excuse.


Make-Up Policy/Extensions

Students are expected, whenever possible, to arrange for making up work in advance of an absence.

Rescheduling or extensions on exams will only be allowed for compelling circumstances and with documentation from an appropriate person (dean, doctor, coach, etc). Note that having travel arrangements which require you to leave early for a break is not generally a compelling reason. Arrangements must be made in advance for non-emergencies.

Extensions on homeworks will not be granted; the lowest three individual problem scores will be dropped in order to accomodate circumstances that may prevent you from getting a homework in on time. You may email homework solutions if necessary to get them in on time.

Extensions on programming exercises will generally only be granted for compelling reasons e.g. serious illness or personal or family emergency. In particular, being busy or having a bunch of assignments due at the same time are not reasons for which extensions are granted.


Collaboration Policy

The Principle of Academic Integrity (see the HWS Catalog, p. 29) governs the work completed in this course. The following outlines specifically how this principle applies.

The purpose of exams is to determine what you individually know, and so are to be completed solely by the student whose name is on the paper. The only person you may discuss the exam with is the instructor, and you may use only those materials authorized in the exam instructions.

Homeworks and programming exercises are intended to be learning experiences. Because it can be very productive to work with one's peers to solve a problem, you may discuss the assignments with other students. (However, be careful not to rely too much on working with others, as you may find yourself at a disadvantage when it comes to exams.) If you do work with others, be sure to:

  • acknowledge in writing who you worked with and in what capacity
  • fully understand any help you receive (you should be able to explain the solution to someone else)
  • write up the solution independently and in your own words (this helps you ensure that you really do understand the solution)

Note that using any part of someone else's written solution or program as inspiration or a guide as you work on your own solution (even if you rewrite parts) violates the third point, and is not acceptable.

You are welcome to use other materials (such as reference books or websites) as technical references or to get a different perspective on a topic when studying the course material or working on homeworks and programming exercises. If these materials are used when working on an assignment, the same rules apply as if you were getting help from another person. (When acknowledging the source, provide a URL or author/title/page reference.) Be careful when using other materials for help on assignments - it is OK to look for examples of concepts, but not to look for solutions to assignments. See "Plagiarism in Programs and on Problem Sets" below for more information.

Facilitating academic dishonesty by providing unauthorized help or allowing someone to copy your work is also considered a violation of the policy even if you didn't gain anything from the collaboration. This means that giving someone a copy of your solution incurs the same penalty as the person who used your solution.

If you have any questions about what is allowed, ask before you get into a questionable situation.

There are no exceptions to this policy. Violations will result in a minimum penalty of a 0 on the assignment and may be referred to the Committee on Standards. 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. Having to deal with academic dishonesty is time-consuming and annoying, so don't go there!


Plagiarism in 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 plagiarism.

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 all handins.
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 source.

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 plagiarism?!
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 "solution".

Using "examples" (as defined above) is generally OK but using "solutions" is not.

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 not acceptable.)
  • 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, then that is plagiarism.


Center for Teaching and Learning (CTL)

Hobart and William Smith Colleges encourage you to seek the academic collaboration available to you to demonstrate your best work. Students who would like to enhance their study skills, writing skills, or have any academic inquiries can contact the CTL. If you are a student with an identified disability and you would like to receive accommodations, please provide me with the necessary documentation from the CTL at the start of the semester (students with disabilities have to register at the Center), so that I can best accommodate your needs. CTL staff encourages each of you to stop by Harris Hall to learn what is available to you at this academic resource. Please contact the CTL at 781-3351 to make an appointment or stop by Harris Hall (on South Main, next to Merritt Hall) to meet with Center Staff.


Extra Time on Exams or Other Accomodations

See the section on CTL above. You must provide me with documentation in advance in order to receive accomodations.


Tutoring/Extra Help

If you have questions or feel that you need extra help with the course material, your first stop should be office hours - just show up during regular office hours, or schedule an appointment if you cannot make those times. You may also request a CTL tutor, but note the following from the CTL Tutoring Guide:

"The CTL tutoring program is designed to supplement academic support services offered by the instructor and teaching assistants of the department in which the course is offered. An integrated approach, with the instructor, teaching assistants, and CTL working together, has been shown to be the most effective way to insure that tutoring is successful. Therefore, a CTL tutor will be assigned only after a student has met regularly with his or her instructor, attended review sessions, and taken advantage of departmental tutoring offered in conjunction with the course. If, at this point, the instructor and student determine that additional help is warranted, the student should contact Sam Vann at The Center for Teaching and Learning to pick up a CTL tutoring form."


Valid HTML 4.01!