"3 hour tests plus final exam. Lowest of first two test grades dropped only if the subsequent test grade is higher (rewarding improvement)."
I am not a fan of test driven learning, but tests do play a role as a reality check on a homework style which relies heavily on following template problems or notes. One needs to assimilate the knowledge from that activity so that some of it resides in the brain and can be applied to simple problems without referring to other resources. In class exams are psychologically stressful and typically not the way academic problem solving is done in the research and consulting environment, so although I give the first two "hour" tests as in class close book exams, I always do the third test as a take home test towards the end of the semester with adequate time and an elastic deadline to allow each student to work at his or her own pace with access to books and notes as resources to do a serious job of working through some key problems. The final exam then acts as a partial check against mindless copying of template problems on test 3 since it is in class without external resources but typically with less time pressure due to the 2.5 hour duration.
Everybody has a bad day once in a while, which can lead to an in class test glitch, so I drop the lowest of the first two tests, provided that the subsequent test is higher. A student really should not have any excuses for doing poorly on the third test, which is an important exercise to take seriously. When I was initially developing this grade-dropping policy, there would always be some students who would blow off the third test because they were happy with their first two test grades, and then when I restricted the dropping to the lowest of the first two tests, some would blow off the second test if they did well on the first. The only way to get each test to be taken seriously was to add the next test improvement clause. If a student has three successively worse grades, especially in view of the resources and time available for the third take home test, it means that something is wrong, and no dropping is warranted.