Grading

Like CMSC 14200, we will be using a form of grading known as specifications grading. The goal of specifications grading is to help students focus on their mastery of the material and to identify areas for improvement as the quarter progresses. You will get the most out of this scheme if you focus on skills, not on scores.

All work in this course will be evaluated using a E/S/N/U scale:

  • Excellent (E): The work is either perfect, or has only very minor flaws. In some coursework, achieving an E will require completing extra work above and beyond what is required to earn an S.

  • Satisfactory (S): The student has put in a good-faith effort to complete all the work and demonstrated sufficient mastery of the material.

  • Needs Improvement (N): The student has put in a good-faith effort to complete the work, but revealed a lack of mastery in the material that can be addressed via concrete feedback. The work could become Satisfactory, or even Excellent, with revisions.

  • Unsatisfactory (U): The student did not make a good-faith effort to complete the work. For example, they submitted no work at all, or some token amount of work. Some coursework may specify a specific minimum amount of work to complete to avoid a U.

This is often referred to as the ESNU scale. All assigned work will include a more precise specification of what is required for an E, S, N, or U in that particular piece of work.

Coursework

Your final grade will be determined based on the ESNU scores you will earn in the following coursework:

  • Homeworks

  • Project

    • Individual Project Tasks

    • Project Warm-up Exercises

    • Peer Feedback Exercises

    • Final Project Presentation

Homeworks

There are seven homeworks (HW #0 - HW #6), with each homework building on the previous one. You will receive one ESNU score per homework, except in Homeworks #0 and #1, where the highest score will be an S.

If you receive an N in a homework, you will be able to address the issues with that homework (to get your score up to an S or E) no later than two homeworks afterwards. For example, suppose you receive an N in HW #2. You will be given specific feedback on what needs to be improved, and will be able to address it in your HW #4 submission.

Please note that, for homeworks #5 and #6, there will be a special homework deadline (the “Final Homework Submission”) where you will be able to address any remaining issues in those homeworks.

Homeworks #2 - #6 will include a series of additional tasks that you will need to complete to earn an E in those homeworks. As we’ll describe below, these E’s will be necessary to earn certain grades.

Individual Project Tasks

In the course project, you will be largely assessed on how well you follow a software development process, based on how you manage issues and pull requests in the project. Each time you complete an issue or a pull request, you will earn an ESNU score and, depending on the score and the type of task, you will accrue a certain number of points (the exact scheme will be available once we publish the details of the project).

While these tasks cannot be resubmitted, there are effectively unbound opportunities to complete tasks and accrue points. So, a poor performance in one task can be made up by completing a different task.

The number of points you accrue (i.e., the number of tasks you complete that are of, at least, a certain quality) will factor into your final grade.

Project Warm-Up Exercises

The project has two warm-up exercises, each of which contribute a SNU score to your final grade. These exercises are done as a team, and the entire team receives the same SNU score based on the work submitted by the team.

For the first warm-up exercise (coming up with the data design for the homeworks), there will be an explicit resubmission deadline later in the quarter for any designs that do not earn an S.

For the second warm-up exercise (building familiarity with using GitHub collaboratively), teams that do not earn an S will be given specific goals to accomplish during Sprint #1 of the project to demonstrate that they understand how to use GitHub in the context of the project. As long as those goals are met, the score will be changed to an S.

Peer Feedback Exercises

The peer feedback exercises contribute a single SNU score to your final grade.

There are two rounds of peer feedback, where you will be assessed on the quality of the feedback you deliver to your peers (you will not be assessed based on the feedback others give you).

If there are any concerns with the quality of your first round of feedback, you will be told exactly what needs to improve in the second round of feedback. As long as those issues are addressed, you will receive an S in your peer feedback.

Final Project Presentation

During exam week, each team will deliver a final presentation on the work they did on the project. Your final presentation will contribute a single ESNU score to your final grade (you will be given a concrete rubric for how that ESNU score will be determined).

Final Grade

Your final grade will be computed based on the following scores:

  • 7 ESNU scores from the homeworks (of which, at most five will be E’s)

  • 2 SNU scores from the Project Warm-up Exercises

  • 1 SNU score from the Peer Feedback

  • 1 ESNU score from the Final Presentation

  • The “Project Points” you accrue in the course project.

In other words, there are 11 ESNU scores (of which, at most 6 can be an E).

You should avoid thinking of these scores as making up some percent of your grade. For example, the fact that there are 7 scores for the homeworks, and 4 scores related to the project, does not mean that the homeworks are worth 63% of your grade.

Instead, your grade will be determined based on the table below, where each row specifies the minimum number of scores that you must achieve to earn that grade. You will earn the highest grade for which you meet all requirements.

Project Points

N+S+E

S+E

E

A

300+

11

10

5

A-

250+

11

10

3

B+

200+

11

8

0

B

< 200

9

7

0

B-

9

5

0

In this table, the project columns represent the following:

  • Project Points: The points you can accrue in the course project by completing issues and pull requests.

  • N + S + E: The minimum number of non-Unsatisfactory scores (i.e., N’s, S’s, and E’s) achieved by the student. This represents the amount of work the student has done in good faith.

  • S + E: The minimum number of scores that are, at least, Satisfactory. This represents the amount of work that the student has done in good faith, and which is at least satisfactory.

  • E: The minimum number of Excellent scores. This represents the amount of work done by the student that is of superior quality.

Please note that anyone below the B- requirements will be dealt with on a case-by-case basis.

Late Submissions

Late submissions will not be accepted in this class, except under extraordinary circumstances. Please bear in mind that, given that you can resubmit most of the work in the class, it is ok to submit a less-than-ideal piece of work by the deadline, as you will have an opportunity to revise it later on.

That said, to be clear: if you encounter some sort of emergency (medical, family, etc.) please reach out to us as soon as you are able to do so. We are more than happy to find ways to provide additional flexibility in these situations. Ideally, you should notify us of these circumstances before the work is due so we can discuss options with you.

In other words, our late submission policy applies to ordinary circumstances: if you are having a busy week, if your RSO has an event that overlaps with a deadline, etc., then you should rely on the resubmission policy to give you some extra flexibility: instead of trying to argue for a few extra days to work on an assignment, you should just submit the work you have completed by the deadline, so you can get feedback on that work and use that feedback to improve your work.

Grading Disputes

Except in very specific cases (described below), you cannot dispute the score assigned to you on a piece of work. The score you receive on a piece of work is meant to convey feedback on your level of mastery, and you should take it as an opportunity to understand the areas of improvement in your work. You are more than welcome to ask us for concrete advice on how to improve your work, and we are always more than happy to have those kind of conversations with students, including going over your code. On the other hand, we will not entertain requests to change your score just because you feel your work deserved a higher score.

There is one exception to this: if a grader made a factual mistake in your grading. Please note that this only includes cases where a grader makes an erroneous statement about your work in their feedback. It does not include cases where you simply disagree with whether something deserves to be flagged as incorrect.

For example, suppose you receive a piece of feedback that says “Incorrect: Function X did not check that parameter Y is greater than zero”. If function X in your code did perform this check, and the grader missed this fact (and erroneously gave you that feedback), you can ask us to review this decision. Please note that, even if the feedback is amended, it may not affect your actual ESNU score.

We ask that you keep these requests brief and to the point: no more than a few sentences identifying the exact statement that the grader made and the reasons you believe the statement was mistaken, including references to specific parts of your code (e.g., “I did check the value of the parameter in line 107”). Focus on laying out the facts, and nothing else.

Finally, it is also your responsibility to make these requests in a timely manner. Requests to review grading mistakes must be submitted no later than one week after a graded piece of work is returned to you. After that time, we will not consider any such requests, regardless of whether the request is reasonable and justified.