Overall course grade

Your overall grade will be determined as follows (subject to change if necessary, but change is unlikely):

Assignments (Written Exercises and Programming Projects): 50%

Midterm Exam(s): 20%

Final Exam: 30%

We will have approximately one assignment per week. If you find an
error in our grading, please bring it to our attention within one week
of that item being returned.

Late policy

All parts of an assignment must be received by the stated deadline in
order for the assignment to be counted as on time. Each student in the
class will be given a total of two "late days" (a late day is 24 hours
of lateness). There are no partial days, so assignments are either on
time, 1 day late or 2 days late. Once a student has used all of
his or her late days, each successive late day will result in a loss
of 20% on the assignment. Note: In the case of written assignments
that are due at 2:30pm on Friday, you would need to create an
electronic version and email it to us by 2:30pm on Saturday to be
considered 1 day late. You may not submit any portion of any
assignment more than 3 days after its original due date.

Written assignments are due promptly at the beginning of lecture.
If you cannot attend lecture, please arrange to turn in your homework
earlier to the instructor or have a classmate turn it in for you at
the beginning of lecture.

Programming projects will be submitted electronically by the deadline
announced for each assignment.

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 do not hesitate to ask a TA or the instructor about it.
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, please submit
a written re-grade request as follows:

Along with the original version of the assignment you wish
to have re-graded, 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.

When a written assignment, programming project, or test is re-graded,
the entire work will be re-graded. This means that while it is
possible to gain points, it is also possible to lose points.

Grading guidelines for programming assignments

For each project the, approximate and subject-to-change grade breakdown is:

Program correctness, compilation: 40%

Architecture/design, style, commenting, documentation: 30%

Writeup/README: 30%

The reason why "so few" points are allocated toward program correctness
and error-free compilation is because students who have gotten past CSE143
are accomplished enough to know how to get their code to compile and run against
the general input (although testing "boundary conditions" is a skill that
students should aim for). Program correctness and error-free
compilation is neither a fair nor discriminating measurement of project
quality.

The two biggest discriminating factors among CSE373 students are program
design (such as style and architecture) and analysis (the README/writeup),
which is why these factors are heavily weighted. CSE373 is a
course about data structures and the tradeoffs made during algorithm/data
structure/abstraction design, so putting additional weight on program design, and
questions about algorithm analysis and weighing tradeoffs, is more in keeping
with the course goals.

Extra Credit

We will track any extra features you implement (the "Above
and Beyond" parts). You will not 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.