Overall course grade

Your overall grade will be determined as follows (approximate):

We will have 3 programming assignments (with phases) and 8 written homework assignments. If you find an error in our grading, please bring it to our attention within one week of that item being returned.

Late policy

Occasionally exceptional circumstances occur. If you contact the instructor well in advance of the deadline, we may be able to show more flexibility in some cases.

Re-grade Policy

If you have a question about an assignment or exam that was returned to you, please don't hesitate to ask a TA or the instructor about it during their office hours. Learning from our mistakes is often one of the most memorable ways of learning!

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:

Note that when a written assignment, programming assignment, or test is re-graded, the entire work will be re-graded. This means that while it is possible to regain some points, it is also possible to lose points.

Computing environment

Programming projects will be written in Java and we don't care what programming environment or system you use, as long as the results compile using Sun's standard Java compilers (either version 5 or version 6, both of which include generics).

Grading guidelines for programming assignments

Each of the projects and phases will be graded on a 100 point scale.  Their contribution to the overall project portion of your grade is:

For each project, the approximate grade breakdown is:

The exact distribution will vary from project to project.  See also the "Programming Guidelines" at left.

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 you 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 CSE326 students are program design (such as style and architecture) and analysis (the README/writeup), which is why these factors are weighed more heavily. Also, CSE326 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 unfairly 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). Extra credit scores will be recorded separately from the basic project grades and will be used to bump up grades at the end of the quarter.