Grade Capping

In every course, students must wrestle with at least two sources of uncertainty. The first is, “What kind of grade will I end up with given my current level of performance?” The other, subtler, one is, “I haven't undestood this material properly yet; should I try to master it first, or should I push on with the remaining work?” Grade caps help address both issues.

Grade caps are levels of learning that correspond to letter grades. To attain a particular grade cap, you only need to meet that level of mastery in the course, and need not pass—in fact, need not even do—any of the other coursework required for a higher grade. Instead, you can use the remaining time to attain mastery for that grade level.

There are three levels of grade caps (A, B, and C), as follows:

C (“Fair”)

  1. You must get more than half the graded questions right on all but five quizzes
  2. You must not miss more than one written homework.
  3. You must have at least a 60% cumulative average written homework grade.
  4. You must successfully complete the first four parts of the minor project (ParselTongue).

B (“Good”)

  1. You must complete all requirements for a C.
  2. You must have at least a 70% cumulative average written homework grade.
  3. You must successfully complete the fifth part of the minor project.
  4. You must do well in the major project (Python).

A (“Excellent”)

  1. You must complete all requirements for a B.
  2. You must have at least an 80% cumulative average written homework grade.
  3. You must excel in the major project (Python).

We do not expect that the typical student will earn an A. That said, the required percentages to meet gradecaps for written homeworks may change given the distribution of actual grades.

The three levels correspond (in addition to the quizzes and written homeworks), roughly, to the project work due at (C) the end of September, (B) the middle of November, and (A) December. This gives you ample time to attain mastery. If, for instance, you find you're struggling with the first part of the major project, you are unlikely to do its second part well, but you are better off spending the last month consolidating your B rather than falling down to a C.

We believe that grade caps will also help you better form partnerships for projects, since you can make sure your partner and you have aligned interests. Often, partnerships go sour because the students don't have similar expectations, don't think to ask, and lack a common vocabulary for expressing the answer. Grade caps deal with all these problems both initially and as expectations evolve.

Late Policy / Handin Instructions

Assignments are always due at 11:59PM on the listed date. That is, if an assignment is due on September 20, once we get to September 21, you're late (this policy mainly affects written homeworks).

Why midnight? Because we want you to attend class and to be reasonably alert when you do so. Past experience indicates that making assignments due at the start of class leads to a largely somnambulist audience that day. Those classes are fun for neither the student nor the professor.

Programming Assignments

Written Homeworks

We will not accept late written homeworks. These are important for demonstrating fundamental theoretical understanding of the concepts you will implement in your programming homeworks. If there are extenuating circumstances, email us at least 27 hours in advance (why 27? Because the professor and TAs are unlikely to read email past 9 PM), and we will determine if we can grant an extension.


We will not accept late quizzes or grant extensions on quizzes. Quizzes take minimal time to complete, and you can miss some quizzes before your grade is affected.