Overall course grade
Your overall grade will be determined as follows (approximate):
- Written Homework Assignments: 25%
- Programming Projects: 25%
- Midterm Exam: 20%
- Final Exam: 25%
- Best of projects, midterm, final: 5%
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
- Written assignments: Written
copies are due promptly at the beginning of lecture on the due date. Late assignments
will not be
accepted. If you cannot attend lecture please
arrange to turn in your homework earlier to an instructor or have a
classmate turn it in for you during lecture.
- Programming assignments: Programming assignments will be turned in
electronically by the deadline announced for each assignment,.
Once per quarter you may use your "late day" to buy an extra 24
hours for the electronic turnin. You must email your TA before the deadline
to specify that you will be using your late day so he or she can make
appropriate arrangements. If working with a partner, BOTH partners
must have their late day available in order to take the late day.
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:
- Along with the original paper version of the assignment you wish
to have re-graded, you must also include a written summary (which can
be neatly handwritten) describing why the work should be looked at
again.
- Submit it to the instructor or to a TA.
- Re-grade requests should be submitted within a week of when the
assignment was returned.
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:
- Project 1: 15%
- Project 2A: 15%
- Project 2B: 30%
- Project 3: 40%
For each project, the approximate grade breakdown is:
- Program correctness, compilation -- 40% of total grade
- Architecture/design, style, commenting, documentation -- 30%
- Writeup/README -- 30%
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.