Algorithms and OOD (CSC 207 2014F) : Handouts

Additional Information on Grading Policies

Summary: The course front door provides a quick summary of the weights of various components of the course. The narrative on teaching and learning provides some general perspectives on how I teach, how I hope you learn, and how I grade. This document provides a bit more detail on how I will be grading this particular class.

Late Assignments

My experience shows that students who turn in work late learn significantly less than students who turn material in on time. (I'm not sure about cause and effect.) Hence, I strongly discourage late assignments. Unless prior arrangements have been made, assignments are due at the time stated on the homework assignment (typically 10:30 p.m. on Tuesday evenings). Late assignments are penalized approximately 10% per day late.

Because I am concerned about your health and well being, I will waive the late penalty if (1) you start the assignment at least three days in advance of the due date; (2) you get to sleep by midnight the night before the assignment is due; (3) you expend a reasonable amount of effort to complete the assignment by midnight; (4) you turn in a note attesting to facts (1), (2), and (3) when the assignment is due; and (5) you talk to me ASAP about any problems you've had on the assignment.

If you are ill, I will make appropriate accommodations. Please let me know as soon as possible if illness will make it difficult for you to turn in an assignment on time. (And yes, I realize that it's not always possible to do so in advance.)

Class Participation and Attendance

As I suggest in my statement on teaching and learning, I don't think you learn the material as well if you don't participate actively in the class. I also know that if you're not here, you can't participate. Hence, a portion of your grade is based on a combination of your participation and attendance.

Because I do not want you to come to class when you are ill (and likely to infect others), I excuse most absences due to illness. I also realize that there are other exceptional circumstances, such as academic and athletic responsibilities that call you away from Grinnell. If you provide appropriate notification, I am likely to excuse such absences. However, I do expect you to limit excused absences.

If you miss class for any reason, you are responsible for notifying me. You may, but need not, specify the reason for the absence. I would prefer that you notify me via email before the class period. If that is not possible, you should notify me via email by 5 p.m. on the day that you missed class. With very few exceptions, I will not excuse an absence if you do not notify me within this time frame. I expect that you will notify me, even if your absence is unlikely to qualify as an excused absence.

Students who regularly answer or ask questions and make comments in class will receive a base grade of 90 for participation. Students who make particularly good contributions are likely to receive a higher grade. Students who do not contribute regularly or who make comments that interfere with class are likely to receive a lower grade.

I scale your base participation grade based on your attendance. If you have two or fewer unexcused absences or equivalent (each excused absence counts as half an unexcused absence), I just use your base grade. Otherwise, I scale your base grade by 1-((A-2)/8), where A is the number of unexcused absences or equivalent. For example, if you have the equivalent of four unexcused absences (say, two unexcused absences and four excused absences), I will scale your base grade by (1-(4-2)/8), or 0.75.

Expected Absences

There are a variety of situations in which students should know early in the semester that they will be missing classes later in the semester. Two such situations are sporting events and religious holidays.

Every Grinnell College coach provides his/her/zir players with a list of expected absences at the beginning of the semester. I expect you to share that list with me within the first three weeks of the semester so that we may reach a mutual understanding of how to balance the requirements of your sport with the requirements of the course.

I encourage students who plan to observe religious holidays that coincide with class meetings or assignment due dates to consult with me in the first three weeks of classes so that we may reach a mutual understanding of how you can meet the terms of your religious observance and also the requirements for this course.

In other similar situations (that is, situations in which you should know early in the semester about absences later in the semester), you should also attempt to provide me with information early in the semester so that we can reach an appropriate understanding.

Weekly Homework

You don't learn most of the concepts in this class just by listening - you have to write programs to understand programming, algorithms, ADTs, data structures, and object-oriented design. Hence, you will have weekly programming assignments in this course.

Because students can often learn and accomplish more in teams, I encourage collaboration on homework assignments. You may choose to do most weekly homework assignments alone or with one or two partners. If you do work with partners, I would recommend (and may require) that you choose different partners in different weeks. I hear repeatedly from our graduating seniors that too often they felt trapped in a group, and realized that they would have learned better and learned differently if they had rotated groups.

I have tried a variety of approaches to grading homework. I admit to some fondness for an excellent/good/fair/poor scale, which looks at the big picture and not niggling details. But I also like using a detailed rubric that covers the various aspects of the assignment. I may be experimenting with multiple approaches this semester.

Since different people have different opinions, I thought I should let you know about my scale. Homework that is primarily correct will earn you a good (or, sometimes, a “check”). Errors will earn you a fair or poor. Significant errors may earn you a zero. Failure to turn the assignment in will earn you a zero. Particularly nice work will earn you a very good or excellent. At the end of the semester, I will convert the symbols to a letter or numeric grade. If your grades are mostly good, you will earn a B on the homework component of your grade. Very good and excellent grades will increase the letter grade. (Students who earn very good or excellent on at least 1/4 on the assignments are likely to earn A's.) Fair or poor grades will decrease the letter grade.

To help you monitor your learning, you will be required to complete a “wrapper” for most assignments. After reading each assignment, but before sitting down to undertake the assignment, you will complete a short survey that asks you to estimate the amount of time you will need to complete the assignment, and possibly answer some other questions. After you have completed the assignment, you will report how long the assignment actually took and reflect on any differences from your prediction. My colleague Janet Davis tells me that evidence suggests that doing such activities enhance learning.

Labs and Lab Writeups

The best way to learn is by doing. During most classes, you will work through programming problems with an assigned partner. However, in my experience, students do the work and then don't reflect back on it. I recommend that you take notes on what you've done in lab to prepare for quizzes and exams. Such notes are particularly useful on exams, which are typically “open notes”.

To encourage you to think carefully about the material, for most labs I will ask you to summarize the most important points from the lab or topic. You will submit your answers online.

You and your lab partner(s) may complete the writeup together or individually; you should decide which by the end of class. If you do the lab writeup on your own, you must acknowledge your partner (any anyone else who gave you help) in your writeup.

Lab writeups are graded with an acceptable/unacceptable binary. Your write is acceptable if it includes a solution or evidence of serious effort for each assigned exercise. Your writeup is unacceptable if it was not turned in or if there was no evidence of reasonable effort. If you were not able to complete an exercise because of its difficulty, your work is still acceptable if you explain where you got stuck and come talk to me to get help. So, in case it's not clear, every diligent student will earn full credit for lab writeups.


I believe that you show mastery through individual work on difficult problems. I also believe that you need time and resources to work on such problems. Hence, all of my exaninations (except, possibly, the final examination) are take-home examinations. Most are likely to have four problems. Correct or mostly correct solutions on all four problems will earn you an A. Correct or mostly correct solutions on three problems will earn you a B. Correct or mostly correct solutions on two problems will earn you a C. Correct or mostly correct solutions on one problem will earn you a D.

I try to keep my examinations at a reasonable length. I attempt each problem on my own. If any problem takes me much more than fifteen minutes, I scale it back. I believe that an exam I can complete in an hour should be doable by most students in under eight hours.

After two semesters of finding that students do not significantly improve their grade by redoing problems or doing alternative makeup problems, I have decided that I will not permit makeups for examinations.