Pair Programming: For the first four weeks of the course, you will work individually. After that, you must work on all required problems in pairs. The course staff will assign you a partner. Every few weeks, you will get a new partner. We will attempt to arrange things so that your assigned partners will be at a level roughly similar to yours.
When you work in pairs, each of you is responsible for all the code you turn in. That means you may be called upon to present your partner's work at codewalk, so you must be intimately familiar with the work he or she contributed to the solution.
The best way to guarantee this is to use pair programming, in which the two of you work together at a single keyboard, one partner typing and the other watching, each fully engaged in the problem-solving process.
Being fully responsible for the entire codebase means that your partner obtained the code illegally, you may be held responsible. You may be at particular risk for this if you get most of the problem done and then leave your partner "to finish writing the tests". (Note that this also means that you have violated the design recipe, which says that you should write the tests for a function before you start the next function.)
Grading: You will get one grade for each homework. This grade is based both on your submission and your presentation. We will drop the lowest score from this set. Your final score will be computed as a weighted average of the non-dropped scores.
We do not grade on a curve, nor do we have pre-set percentage cutoffs. The general grading rubric is:
- A means that you applied the Design Recipe consistently to design good programs in a variety of contexts.
- B means that you showed that you understand the Design Recipe, but were not able to apply it consistently.
- C means that your understanding of the Design Recipe was insufficient or incomplete, and you would be well served to take the course again.
The percentage cutoffs between these grades will vary from semester to semester, depending on the grades obtained by the students in a particular class. I generally do not give plus or minus grades, but I reserve the right to do so.
Note that a C does not necessarily require you to take the course again; you should see your advisor about the implications of your grade.
I reserve the right to amend this grading policy during the semester in order to award each student a grade that best reflects his or her performance and achievements in this course.
Cheating: Plagiarism, theft, and other unpleasant topics are discussed here.
Travel: If you have travel or other responsibilities that will make it impossible for you to get a particular assignment in on time, please see me IN ADVANCE, and we can make adjustments.
DO NOT ASK ME to take the midterm or the final early or late. Please schedule your travel around the exams, not vice versa.
Incompletes: The college rules state that an incomplete grade may be be available if the student would otherwise earn a satisfactory grade but is unable to do so because of extenuating and unforeseen circumstances. The student must have already completed a substantial portion of the course, with passing grades. An incomplete grade may not be used as a mechanism to avoid receiving an undesirable grade, nor may it be awarded to a student on academic warning or probationary status.
If you have travel or work conflicts, or medical or other problems that may potentially cause you difficulty in completing your work on time, please come see me as soon as possible. In general, I will be as accomodating as possible if you acquaint me with your problems in advance.
You should be aware, however, that no one has gotten an Incomplete in this course in a very long time.
Last modified: Thu Dec 27 14:52:29 -0500 2012