Grading guidelines for programming assignments
See also the "Programming Guidelines" at left.
For each project the, approximate and subject-to-change grade
breakdown is:
- Program correctness, compilation -- 40% of total grade
- Architecture/design, style, commenting, documentation -- 30%
- Writeup/README -- 30%
The reason why "so few" points are allocated towards program
correctness and error-free compilation is because students who have
gotten past CSE 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 CSE 332 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, CSE 332 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. The
bottom line is that these will only have a small effect on your
overall grade (possibly none if you are not on a borderline) and you
should be sure you have completed the non-extra credit portions of the
homework in perfect form before attempting any extra credit. They are
meant to fun extensions to the assignments, that if you complete some
extra credit it *may* positively impact your overall grade.