Grading Policy
Your grade for this course is computed through an arcane process of fiddling around with weights and algorithms until I get results that I (not necessarily you) feel are fair, consistent, and reasonably generous.
The course grade will be determined by the following components:
-
Exams (75%) There will be four exams, including the final. All exams are weighted equally. The lowest exam score will be dropped. Exams assess individual knowledge and form the primary basis of the course grade.
-
Assignments (≈9%) Short written assignments are intended to encourage reading and engagement with the material.
-
In-class Quizzes (≈5%) Quizzes will be given during class to encourage attendance and ongoing participation.
-
Programming Projects (≈11%) Three programming projects will reinforce concepts from the course and provide hands-on practice.
Penalties for Skipping Work
You'll notice that assignments, quizzes, and programming assignments do not count for a big part of your grade. My hope is to encourage you to do this work without worrying about these being high-stakes components where you must achieve perfection in order to get a good grade.
Assignments, quizzes, and programming projects are required for a passing grade. Each category can reduce the final course grade by up to 1.0 GPA point if largely skipped:
- Missing most or all assignments: up to −1.0
- Missing most quizzes: up to −1.0
- Missing all programming projects: up to −1.0
For example, a student earning an A (4.0) based on exams but failing to complete assignments, quizzes, and projects could receive a D (1.0).
This structure ensures that exams determine the majority of the grade, while assignments, quizzes, and projects encourage consistent engagement without placing undue weight on work that could be easily outsourced.
Exam Grading and Normalization
Exams are designed to challenge you with a mix of straightforward and difficult questions. Because of this, one exam may end up harder than another, and the raw averages can vary. To make grading fair across exams, I may normalize grades using a z-score.
Conventional Scale
If the class average is reasonably high, I use a conventional scale:
- 90+ = A
- 85–89 = B+
- 80–84 = B
- 75–79 = C+
- 65–74 = C
As a rough guide:
\[\text{GPA} \approx 0.1 \times \text{grade} - 5\]
The Z-Score Method
If an exam average is unusually low (or unusually high), I adjust grades using the z-score:
\[z = \frac{g - \bar{g}}{\sigma}\]
- \(g\) = your grade
- \(\bar{g}\) = class mean score
- \(\sigma\) = how widely scores are spread
- \(z = 0\): you are right at the class average
- \(z = +1\): one standard deviation above average (~84th percentile)
- \(z = -1\): one standard deviation below average (~16th percentile)
From the z-score, I compute an approximate GPA:
\[\text{GPA} \approx 3.25 + z\]
Example
Suppose an exam has:
- Average = 70
- Standard deviation = 18.5
- You scored 65
Your z-score is:
\[z = \frac{65 - 70}{18.5} = -0.27\]
Your exam GPA would then be:
\[\text{GPA} = 3.25 - 0.27 = 2.98 \quad (\approx B)\]
Why This Matters
None of this is perfect and I've come to the realization that there is no perfect system I can adopt. This is my hope:
- Fairness: Normalization ensures that exam difficulty doesn’t unfairly lower your grade.
- Flexibility: It allows me to ask harder, thought-provoking questions without worrying about the raw scores dropping too much.
- Consistency: All exams are weighted equally, and the lowest exam (after normalization) is dropped. This hopes to account for the possiblility that you had a really bad day on one of the exam days.
Assignments
Homework assignments are not normalized to mean grades but stand on their own. They are normalized only to the maximum number of points allotted for that assignment. For example, a grade of 8 where the maximum score is 10 is identical to a grade of 80 where the maximum score is 100. Programming assignments count more than written assignments.
Quizzes
If quizzes are given in the class, quiz grades are also not normalized to mean grades. The lowest quiz grade (e.g., a missing quiz) will be dropped. Others will be averaged together. I expect good performance on homework assignments and quizzes. To a large extent, homework assignments and quizzes do not boost your grade as much as keep it from being lowered. Missing several quizzes or homework assignments can hurt your grade. Quizzes largely count as class attendance. I expect most students to have near-perfect grades on these.
Academic dishonesty
I don't want to deal with doling out punishments. If you are caught cheating in any way, I will report you to the Office of Student Conduct and await their verdict on your grade. This may lead to a delay in your grade and failure in the course. They, in turn, will report your actions to the department and to your dean.