Assessment & Grading

Coursework involves eight assignments (programming homework), two midterms, and a 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.

Exams

There will be two midterms and a final exam. All exams will be in-person on the Homewood campus. However, due to the ongoing pandemic, we may have to change plans and employ a different strategy for examination.

We will post the schedule, location, topics, sample questions, etc., on the course homepage for each exam. Everything from the start up to a designated topic will be covered for each exam. That said, the emphasis in Midterm-2 will be on topics after Midterm-1. Likewise, the focus on the final exam will be on the topics after Midterm-2.

Here is a rough breakdown (subject to change at the instructor's discretion) of the weight of each exam.

ExamPoints
Midterm-125
Midterm-230
Final45
Total100

You need to use your laptop and open the exam as a coding project in IntelliJ. Therefore, please ensure your laptop is fully functional and can hold a charge for the duration of an exam. Please take measures to fix your laptop in due time if you anticipate any issues with it.

Assignments

You will have eight coding assignments. Each will be posted on the course homepage. You will submit your work through Gradescope.

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 AVLTreeMap correctly applies double rotations after removal.

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, 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 description, to set clear expectations.

  • The required category contains specifications that your work needs to meet. It sets out the minimum expectation of what constitutes acceptable (passing) work.

  • The satisfactory category includes specifications that your work must aim to meet. It indicates a good (but not outstanding) level of achievement.

  • The complete category encompasses specifications that your work should strive to meet. It signifies an exceptional level of achievement.

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 the "satisfactory" compared to the "required" section.

Final Score

The criteria for assigning letter grades are based on what percentage of specifications in each category are met (achievements) and your exams (aggregate) score. Here is a sample mapping:

Letter GradeCompleteSatisfactoryRequiredExams
$A+$$\ge 90\%$$\ge 95\%$$\ge 95\%$$\ge 90\%$
$A$$\ge 80\%$$\ge 90\%$$\ge 95\%$$\ge 80\%$
$A-$$\ge 70\%$$\ge 80\%$$\ge 90\%$$\ge 75\%$
$B+$$\ge 60\%$$\ge 70\%$$\ge 85\%$$\ge 75\%$
$B$$\ge 50\%$$\ge 65\%$$\ge 80\%$$\ge 70\%$
$B-$$\ge 60\%$$\ge 80\%$$\ge 70\%$
$C+$$\ge 55\%$$\ge 75\%$$\ge 65\%$
$C$$\ge 50\%$$\ge 70\%$$\ge 60\%$
$C-$$\ge 65\%$$\ge 60\%$
$D$$\ge 60\%$$\ge 55\%$
$F$$< 60\%$$< 50\%$

Please note the above cutoff is subject to the instructor's evaluation of the overall class performance.

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.

References:

  • Nilson, Linda B. (2015). Specifications Grading: Restoring Rigor, Motivating Students, and Saving Faculty Time. United States: Stylus Publishing.