This guide details how the grade for this class will be calculated, as well as whether assignments can be excused or submitted late.
TABLE OF CONTENTS
Just as software is determined by what works at the time it is deployed, your grade in this class is determined by what you are able to get functional and well-designed by the end of the semester. Specifically, this class uses specification grading and the number of assignments completed to calculate your final grade.
It is a form of grading where the final grade is based on what you have demonstrated proficiency on by the end of the course. It usually includes explicitly stated requirements for each letter grade (the specification), pass/fail assignments, and options for resubmitting work. Assignments often build on one another, such that you cannot start the second assignment until you demonstrate proficiency on the first.
For this class, it means your final letter grade is based on the assignments you pass by the end of the semester. You can submit most assignments up to 1 week late without penalty, as long as it is before the end of the semester.
Specification grading allows you to focus on learning rather than the point values.
This type of grading has other benefits as well. It makes expectations clear. It motivates students to learn to do well on several concepts, rather than average across all concepts. It also provides students greater flexibility.
In this class, specification grading also forces you to learn time management for large programming projects, a critical skill to practice before entering the profession.
And, specification grading mirrors how software is built and designed in practice—each core component must work before adding on the next part. A search engine cannot be build from non-functional poorly-designed components!
It is easy to fall irreparably behind if you are too reliant on the flexible deadlines and late submissions.
Each week includes approximately 12 hours of work. Missing one week of assignments adds that work to the next week, requiring 24 hours (on top of your other classes). There is some flexibility, but once you are behind by 3+ weeks, it becomes infeasible to catch up.