Assessment & Grading

Coursework involves nine assignments (programming homework) and a midterm exam (no final exam). Please refer to the schedule of topics posted on the course website for key dates and deadlines.

All coursework must be done individually unless stated otherwise.

We follow (a modified version of) "Specification Grading" (Nelson, 2015) to evaluate coursework.

A specification, or simply "spec," is a requirement (criteria, expectation) about your submitted coursework.

Here is an example of a specification:

The submission exhibits good practices for writing readable code such as consistent indentation, descriptive naming with a predictable scheme (e.g., constant names use CONSTANT_CASE), documentation comments (JSDoc), code comments (that explain the "why," not the "how"), etc.

Each specification is evaluated on a pass/fail basis (rather than using points or partial credit). Thus, your submitted coursework either meets a specification or not.

For each assignment and exam, we provide a rubric, a collection of specifications, categorized into three sets of Required, Satisfactory, and Complete groups.

The rubric will be provided ahead of time, together with each homework/exam description, to set clear expectations.

  • The required category contains specifications that your coursework needs to meet. It sets out the minimum expectation of what constitutes acceptable (passing) work. If you go through all coursework and aim to meet only the required specifications, you will pass the course with a letter grade of $C$.

  • The satisfactory category includes specifications that your coursework must aim to meet. It indicates a good (but not outstanding) level of achievement. You will receive a letter grade of $B$ if you meet most of the "required" and "satisfactory" specifications in all coursework.

  • The complete category encompasses specifications that your coursework should strive to meet. It signifies an exceptional level of achievement. You will earn a letter grade of $A$ if you meet most of the "required," "satisfactory," and "complete" specifications in all coursework.

The specifications in the "complete" category, for instance, build on top of those in the "satisfactory" group but are harder to achieve and require more work. So are the specs in "satisfactory" compared to the "required" section.

The criteria for assigning $−$/$+$ to each letter grade is based on what percentage of specifications in each category are met (achievements) and further subject to the instructor's evaluation of the overall class performance. Here is a sample mapping between achievements and letter grades:

Letter GradeCompleteSatisfactoryRequired
$A+$$\ge 95\%$$\ge 95\%$$\ge 95\%$
$A$$\ge 90\%$$\ge 95\%$$\ge 95\%$
$A-$$\ge 85\%$$\ge 90\%$$\ge 95\%$
$B+$$\ge 80\%$$\ge 85\%$$\ge 90\%$
$B$$\ge 85\%$$\ge 90\%$
$B-$$\ge 80\%$$\ge 85\%$
$C+$$\ge 75\%$$\ge 80\%$
$C$$\ge 80\%$
$C-$$\ge 75\%$
$D$$\ge70\%$
$F$$<70\%$

To calculate the percentage of specifications that are met under each heading, we compute the ratio of total specs met divided by the total specs for each of the "required," "satisfactory," and "complete" categories.

About $90\%$ of all specifications will be from assignments, and the remaining $10\%$ will be from the midterm exam.

You must meet at least $70\%$ of required specifications on the midterm exams. If you fail to meet this bar, you will fail the course.

In the Fall 2021 academic term, exams will be in-person and on campus even when a course is offered remote and online (subject to instructors' discretion). This course will have in-person exams, and more information about it will be posted on the course discussion board. Moreover, grading policies are reverted to pre-COVID policies, which means there is no option for S/U grading.

Side note: You might be wondering, "why do we go through the trouble of using specification grading?"

The short answer is that "evidence" suggests it improves upon the traditional point-based grading.

In particular, it "makes expectations clear [and grading more consistent]," "reduces student stress," "reflects student learning outcomes [thus encourages students to focus on learning]," and "minimizes conflict between faculty and students [by disincentivizing "grade grubbing" conduct]." You can read Marcie Hall's blog post (Hall 2018) or refer to Linda Nilson's book (Nilson 2015) for a more elaborate answer.

Specifications ("specs") grading is an unorthodox but well-researched approach to student assessment. There is an entire conference (masterygrading.com) dedicated to it. This approach to grading has many flavors that go by other names, such as "equitable," "competency," "proficiency," "standards-based," "mastery," or "contract" grading.

There are other faculty at JHU who use specs grading. You can read about it in Amy Brusini's blog post (Brusini, 2019).


References: