Grades will be computed approximately as follows (weights may be modified):
We will have 6-8 assignments. If you find an error in our grading, please bring it to our attention within one week of that item being returned.
If after discussing your question with a TA or the instructor you feel that your work was misunderstood or otherwise should be looked at again to see if an appropriate grade was given we ask that you submit a written re-grade request as follows:
The reason why "so few" points are allocated towards program correctness and error-free compilation is because students who have gotten past 143 are smart enough to know how to get their code to compile and run against the general input (although testing "boundary conditions" is a skill which students should aim for), so program correctness and error-free compilation is neither a fair nor discriminating measurement of project quality.
The two biggest discriminating factors among 373 students are program design (such as style and architecture) and analysis (the README/writeup), which is why these factors are weighed a little heavily. Also, 373 is a course about data structures and the tradeoffs made during algorithm/data structure design, so putting additional weight on program design, and questions about program analysis and weighing tradeoffs is more in keeping with the course goals.
Putting weight on the design and writeup aspects for projects is also useful because it doesn't penalize students who "have the right idea" but couldn't get their code to compile because of a last-minute code change.
Extra Credit: We will keep track of any extra features you implement (the Above and Beyond parts). You won't see these affecting your grades for individual projects, but they will be accumulated over all projects and used to bump up borderline grades at the end of the quarter.