CPSC 124 Introduction to Programming Fall 2013

CPSC 124 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.

On this page:


Email/Web Policy

You are expected to regularly check your HWS email and the course web page (especially the syllabus page). 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

Since in-class activities and examples are an important part of the course, you are expected to attend and be on time for all class and lab sessions. Late arrivals may be marked as absent. More than three absences (for any reason) in class and/or lab will lower your final grade by 1/3 of a letter grade (3.3%) per additional absence. No distinction is made between excused and unexcused absences when computing the final grade; however, the number of unexcused absences is taken into account when considering borderline final grades. If a major emergency means that you will miss multiple days of class, see me as soon as possible.

Note that late arrivals or early departures may be marked as absent. Not paying attention for significant portions of the class - even if physically present - will lower your class participation grade.

Excused absences include absences due to sports competitions, official Colleges activities such as musical performances or debate competitions, academically-related events such as attending a conference, religious observances, serious illness, or personal or family emergencies. A reason must be provided in order for such an absence to be counted as an excused absence.

Missing class for other reasons - such as being too busy, oversleeping, or leaving early for a vacation - is considered to be an unexcused absence. Any absence for which no reason is provided is automatically considered to be unexcused.


Missing Class / Make-Up Policy

Students are responsible for acquiring any notes, handouts, assignments, and other material missed as the result of an absence, whether excused or unexcused. This should be done promptly to avoid falling behind.

Every effort should be made to hand assignments in on time, even if you are absent from class that day. (You may email your program if you are unable to hand it in electronically, but please try to avoid doing this on a regular basis.) Arrangements for extensions must be made in advance (see "Extensions" below). In the case of a last-minute emergency, the assignment will be accepted late without penalty only if arrangements are made as soon as possible to get the assignment handed in.

Missed warmups and syntax quizzes cannot be made up, but one or more of the lowest grades will be dropped when computing final grades.

Exams can only be made up if the absence is excused, and additionally require documentation from an appropriate person (dean, doctor, etc) to valid the excuse.


Late Policy

Warmups and syntax quizzes will not be accepted late and cannot be made up. One or more of the lowest grades will be dropped instead.

Labs will be penalized 5% if turned in by midnight on the due date and 10% per day or part of day thereafter. (e.g. an assignment due Thursday will be penalized 30% if it is turned in on Sunday) Labs turned in more than five days late will have a maximum deduction of 50% - so it is best to get your lab in on time, but late is better than never.

Projects will be penalized 5% if turned in by midnight on the due date and 10% per day or part of day thereafter, up to a maximum of five days late. Projects will not be accepted more than five days late.

Deductions are calculated as a percentage of the total points possible on the assignment, not the number of points you earned.

No work will be accepted after the end of the timeslot in which the final exam is scheduled.

It is important to stay on top of things in this course - the material is cumulative, so you can't just skip one topic and figure you'll catch up later. The late policy is intended to discourage habitually late handins, while still allowing a little flexibility for those occasional situations when one just needs a bit more time.

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.


Extensions / Rescheduling Exams

Extensions will generally only be granted for the kinds of things that count as excused absences, and only if a significant portion of the time allocated for the assignment is affected. Note that leaving early for a vacation, being busy, or having a bunch of assignments due at the same time are not considered reasons for extensions. Save often and make backups of your files - computer failures do occur and are also not grounds for an extension.

Rescheduling of the final exam will only be allowed as outlined in the Colleges' Handbook of Community Standards.

Arrangements for rescheduled exams or extensions must be made sufficiently in advance of the date in question - waiting until the day before a team trip which has been scheduled for weeks is not "advance arrangements". In addition, it is the student's responsibility to ensure that there are actual arrangements in place - simply sending an email notification about an upcoming absence does not constitute "arrangements".

Extensions will not be granted retroactively - if a last-minute emergency prevents you from handing an assignment in on time, the make-up policy applies (see "Missing Class / Make-Up Policy" above). Note that the "extension" in this case will only be for long enough to get the already-completed assignment handed in; if you need more time to complete the assignment, it will be considered late.


Collaboration Policy

The HWS Principle of Academic Integrity governs all of the work completed in this course. Specifically:

  • Syntax quizzes and exams are to be completed solely by the student whose name is on the paper. These assignments are closed book, and the only person you may discuss them with is the instructor.

  • Projects are individual assignments - you may not discuss any aspect of them with other students in the class. You may, however, get debugging help (and only debugging help) from the TAs, and you may get help on any aspect of the assignment from the instructor. "Debugging help" refers to help figuring out an error message or why your program doesn't work the way you want it to; it does not include help with figuring out how to write the program in the first place.

  • Warmups and labs are also individual assignments, but it can be very productive to discuss your ideas with other students in the course or get help from a tutor, the TAs, or the instructor. You may also use other materials (such as reference books or websites) as technical references. However, this doesn't mean that you can just copy someone else's answer! For warmups, you must actively think about the question and contribute to the discussion about what the answer should be - you may not simply ask someone else what the answer is and write it down. For labs, anything you turn in for a grade must be your work. In particular:

    • You must write up the assignment independently and in your own words. This means you can discuss ideas and approaches, but you can't sit down with a friend and write the program together. (Formulating a question about what you don't understand is useful for clarifying what you do and don't know, and writing things up on your own ensures that you understand the material - or that you realize what you don't understand in time to get help.)
    • You may not borrow or copy solutions or code from someone else and you may not share your own with others until after all parties have turned the assignment in. This includes both computer files and paper copies. This should be obvious: using someone else's program "as a guide" to completing your own is plagiarism, not collaboration.
    • You must fully understand the help you receive. (You should be able to explain your solution to someone else.)
    • You must acknowledge, in the assignment write-up, who you discussed the assignment with or got help from and in what capacity (include all sources - other students, tutors, TAs, the instructor, websites, etc).

    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.

While you may discuss some assignments with others, be careful of collaborating too much - it is worth reiterating that what you turn in must be your own work. You also do yourself a disservice if you rely too much on others, as it is then more likely that you don't fully understand the material - and it is better to discover this before the exam.

Also be careful when using other materials for help - it is OK to look for examples of concepts, but not to look for solutions. See "Plagiarism in Programs and on Problem Sets" below for more information.

For all assignments, 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. Decompiling or reverse-engineering someone else's code (including provided code) is also prohibited.

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)

Principle 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 principle.
  • 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 principle.
  • 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 a penalty.


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 - 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 and register for services with the Coordinator of Disability Services at the Center for Teaching and Learning (CTL), and provide documentation of your disability. 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: http://www.hws.edu/disabilities

Please direct questions about this process or Disability Services at HWS to David Silver, Coordinator of Disability Services, at silver@hws.edu or x3351.


Valid HTML 4.01!