Based on feedback from this morning’s office hours, I’m making the following changes to the B+ tree assignment.

First, the due date is extended 24 hours. The assignment is now due at 2300 on Tuesday, 12 May (T36). This extension allows folks to attend tomorrow evening’s office hours for any last-minute questions (though you won’t have much time at that point for much beyond clarifications). You’re also welcome to schedule extra instruction (EI) today or tomorrow for one-on-one help for implementation-specific questions.

Second, I may adjust the grading rubric for the programming portion based on how many tests teams pass. For example, if only a few teams pass all 25 test cases but many teams pass exactly 15 of the 25 test cases, then I may change the value of each test case to 3 1/3 points (50 points / 15 test cases) and award extra credit to the teams that pass more than 15 test cases. I am not, however, going to declare at this point that passing 15 of the existing 25 test cases is sufficient to earn full credit because several of the remaining test cases should pass automatically if you pass the first 15 test cases (i.e., those numbered less than 40-*). The minimum number of test cases to potentially earn full credit is 15, though – i.e., if you only pass 12 test cases, then you will definitely not earn full credit for the programming portion of the assignment regardless of how many test cases others pass.

I recognize that the latter decision creates a “moving target” in the sense that passing 18 of 25 test cases might be sufficient to earn full credit for the programming portion of the assignment…or you might need to pass 21 test cases or even all 25 test cases. Again, the reason that I’m not providing an exact number is because I fully expect a number of teams to pass more than 15 test cases but not necessarily all 25 test cases (though they may). Like a graded review (GR), I will “curve” based on the teams’ scores should it be appropriate to do so. I will also point out that passing 15 / 25 test cases (60%) guarantees at least a passing score on the programming portion of the assignment, and you might wind up with a higher grade if some test cases are ultimately discarded when grading.1

From a practical standpoint, your objective should be to pass at least 15 test cases for the assignment. If you have additional assignments that are due this week, then you’re guaranteed at least a passing grade, and most of your classmates are probably in a similar situation (i.e., may not invest the time to pass more than 15 test cases themselves). If you can pass a few more test cases, great! You’ll do better if the curve is smaller or earn extra credit for your additional effort.


  1. Any teams that pass test cases that are discarded will still receive extra credit to recognize their hard work.