University of Arizona, Department of Computer Science

CSc 553: Grading Policies and Procedure

Weights and Distribution Grades will be based on the midterm exam (weight: 20%), the final exam (weight: 30%), and the programming project (total weight: 50%). The weighting of the individual assignments that make up the project is given here.

Your grade will be determined by the overall weighted average of your scores on exams and programming assignments based on the following mapping:

Weighted AverageGrade
≥ 90 A
≥ 80 but less than 90 B
≥ 65 but less than 80 C
≥ 55 but less than 65 D
< 55 E
Timeliness Assignments
Assignments are due at the time stated in the assignment handout. Late submissions are permitted for up to 5 late days per assignment, but will be assessed a late penalty of 10 points per day.

You may turn in multiple submissions for the same assignment: they will be graded separately, and you will be awarded the maximum of their scores (after adjusting for late penalties where appropriate). Note that for each day's submissions, later submissions will overwrite files submitted earlier.

In general, an assignment will be graded by comparing its output against the "expected output" on a number of different test inputs using the diff utility: if your output differs from the expected output, it will be considered to have failed that test (it is for this reason that strict adherence to the specification is important).

Exams
Without prior arrangements, missed exams result in a grade of zero. If you will be absent on the date of an exam due to religious reasons or because of a pre-approved absence by the UA Dean of Students, please contact me ahead of time so that we can work out an alternative time for your exam.

Illness and Emergencies
I may adjust these rules to accommodate students with documented emergencies or illness. In such situations, you should petition me in writing, with the appropriate documentation, at the earliest opportunity possible.

Grading Procedure The size of the programs involved in the project makes it impractical to manually examine your source code to determine its correctness. Instead, we will use the following procedure:

  • You will develop and test your code using your own test cases. It is permissible for students to share test cases.

  • I will make my test cases public after the submission deadline.

  • Your code will be graded on my test cases using a grading script. You will be awarded a preliminary score based on the number of test cases failed.

  • If you were penalized more than once for the same problem, you will have the option of bringing this to my attention over the two weeks following notofication of your preliminary score. Specifically, you will need to provide me with:

    • a list of the specific problems in your code; and
    • for each problem, the test cases that failed as a result.

    You can do this either via email or in person.

  • Based on this, I may adjust your preliminary score where appropriate, based on my assessment of the seriousness of the problems. However, any such adjustment will always be positive, i.e., you will not be penalized—but may be rewarded—for identifying and explaining the problems in your code.

Dispute of Grade Policy All regrade requests for programming assignments must be made within two weeks of when the grade is returned. All regrade requests for midterm exams must be made within one week of when the graded exam is returned.