Additional information on grading policies

The syllabus summarizes the basic approach for grading of various course components. 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. I have borrowed most of the processes and much of the language from my colleague, Peter-Michael Osera

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.) I do know that, in many cases, once a student falls behind, the student finds that problems cascade. Hence, I strongly discourage late assignments.

However, I realize that things do come up. The token system is designed to help acknowledge such issues and to adjust for it. The token system is designed primarily for the normal delays that happen in a semester. If you encounter a more significant issue (e.g., something relating to your health or that of someone close to you), please talk to me and we will work something out.


Reading problems, lab exercises, quizzes, and learning assessments are graded on a binary satisfactory (S)/non-satisfactory (N) scale. For reading problems and lab exercises, if it is clear that you have put effort into these deliverables by completing most of the problems with positive results, you can expect to receive a satisfactory grade. See the learning assessment page for more details on learning assessments.

We grade mini-projects in more depth, along two dimensions:

  • Is the deliverable correct? Does it accurately solve the posed problem? Does it meet the specification outlined in the problem description?
  • Is the deliverable well-designed? Does it follow the design requirements and conventions appropriate to the medium? Is the deliverable clear, and does it communicate a proper understanding of both the problem and its solution?

Rather than using a point-based system which obscures these two dimensions, we codify these requirements with the EMRI rubric (an adaption of the “EMRF” rubric designed by Stutzman and Race). Mini-projects are graded on a four-point scale:

  • Excellent/Exemblary (E)
    • Complete understanding of the material is evident.
    • Exhibits no errors and can serve as an exemplar solution for the course.
  • Meets Expectations (M)
    • Complete understanding of the material is evident without the need for further revision.
    • Exhibits some minor errors that warrants revision but are covered by comments.
  • Needs Revision (R)
    • Limited understanding of the material is evident.
    • Exhibits many minor errors or one or more major errors that necessitate revision.
  • Incomplete/Incorrect (I)
    • Not completed to a degree where understanding is evident.

Note that E ratings represent work that reflects not just mastery of the material but also mindfulness towards producing quality work. To obtain E ratings, you should dedicate ample time to review and revise your work—just like writing a paper—before the deadline.

Each mini-project has a rubric in its write-up that outlines what we will be looking for regarding correctness in design. In general, correctness errors tend to be major, whereas design errors tend to be minor. However, this is dependent on the actual error involved. For example, missing an insubstantial corner case could be construed as a minor correctness error, while having egregious formatting issues with your code could be considered a major design error.

Turn-in and revision policies

I believe that mastery of learning goals earned later in the course is just as good as mastery achieved early. However, I also see the need for deadlines to help you schedule your work and allow us to provide you with timely feedback. To this end, each deliverable has a regular turn-in schedule that tries to find the sweet spot between these competing concerns:

  • Reading problems are due 10:00 p.m. in the evening of the day before the class in which the material will be covered. If you need to turn in a reading problem past this deadline, you will need to use a token to do so.
  • Each lab exercise is due before the next class. If you need to turn in a lab exercise past this deadline, you will need to use a token to do so. You will find that you complete most labs by the end of the class period, so I encourage you to submit them as soon as you complete them.
  • Quizzes take place near the start of class on Fridays, after you’ve had a chance to ask some questions. I will provide answers to quizzes almost immediately afterwards.
  • Mini-Projects are due weekly on Tuesday evenings at 10:00 p.m.. You may also submit a re-do of the previous week’s mini-project. Except in rare cases, you will only get one re-do per mini-project. (Yes, you can use tokens for more.)
  • Learning assessments are released approximately every-other week (except for LAs 4 and 5) and close 1 day (24 hours) after they are released.

In all cases, deadlines are set in stone and non-negotiable unless we have made prior arrangements or extenuating circumstances arise as described earlier in the syllabus. Note that if you miss a deadline for whatever reason, you have ample opportunity to make up the work as long as you are proactive about make-up, e.g., by using a token or waiting until the next window or assessment period.

For specific details on how to turn in your work for this course, visit the turn-in page.

Revising mini-projects

You may submit any mini-projects that have either an M or R grade for revision once. Revisions are graded as entirely new submissions, so it is essential to check that your revised work fixes all outstanding issues raised in the feedback. Finally, if you earn an I on a mini-project, you will need to spend a token to revise it, so please ensure that the mini-projects you turn in represent your best work!

Learning assessments

Learning assessment (LA) are, in essence, exams each of whose problems correspond to one of the learning objects of the course. Every LA features problems for every learning objective covered in the course up to that point. Ultimately, your goal is to show mastery for every learning objective by earning a satisfactory grade on a learning goal’s associated problem during a LA. Once you have shown mastery for a learning objective, you do not need to do it again. For example, if the first set of learning assessments has two problems corresponding to objectives P and Q and you earn a satisfactory for P but not Q, you do not need to complete problems associated with goal P in later assessments. However, you have the opportunity to demonstrate mastery for Q by completing a problem corresponding to goal Q in a future set of learning assessments.

See the learning assessment page for specific details of LAs for this course.

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 attendance.

I 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 (or before the end of 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 of within this time frame. I expect that you will notify me, even if your absence is unlikely to qualify as an excused absence. Absences without notification have greater consequence to your grade than absences with notification.

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, or their 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 expect 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.

Unexpected absences

You may find that you have need to miss class for some reason that you could not predict, such as illness, an emergency involving your family or a friend, the need for a mental health day, or the need to visit a consulate. I will not penalize you for such absences, provided you notify me in a timely fashion, preferably before class starts. An email or Teams message should suffice.

Assignment wrappers

To help you monitor your learning, you will be required to complete a “wrapper” for some assignments or examinations. 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 submit your code for the lab. The graders will likely look at one or two problems, rather than the whole lab.

You and your lab partner(s) should generally plan to complete the lab writeup together. However, in some cases you may decide to do so individually. In either case, 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.

Your writeup should include your solution to each assigned exercise. If the exercise directs you to write Scheme code, include your Scheme code. If the exercise directs you to find out what the output of some expression is, copy and paste the output. If the exercise asks a question or asks you to explain something, write an answer in English. You do not need to copy instructions or problem statements from the lab exercises into your writeup, but do number your solutions.

You will submit your lab writeups via Gradescope.

As noted above, Lab writeups are generally graded with a satisfactory (S/1) or unsatisfactory (U/0) binary. Your write up 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, if there was no evidence of reasonable effort, of if your answer is incorrect and you do not note that you realize it is incorrect. 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.

In some cases, the lab writeups will have auto-graders that report potential problems in your code. The auto-graders will not be comprehensive, but they will help you understand potential problems. And, as noted, if you can’t get a problem and you come talk to me, you can still earn credit for the lab writeup.