Your overall grade will be determined as follows (subject to change if necessary, but change is unlikely):
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.
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.
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:
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.
See also Programming Guidelines for the course.
For each project the, approximate and subject-to-change grade breakdown is:
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.
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.