A while back, I blogged about my experiment of nixing tests and giving all quizzes instead in my intro-level course. I have to say that the experiment was largely a success. I will definitely do this again; I'm happier with it and most importantly the students are much happier with it (well, most of them anyway).
Lots of things went well with the quiz model. First, I was able to assess where the class was in terms of learning and comprehending the material much more easily than in the past. I saw their progress every single week, and I could tell instantly what concepts were covered well and what were not. If I taught a concept poorly, I found that the students all made similar conceptual mistakes. If I taught a concept well, most students nailed it on the quiz.
Second, I found that I was able to be *more* creative with quiz questions than with exam questions. Because I had to fit in all the important concepts I wanted to test into a 10-15 minute timeframe, I had to think very carefully about what I wanted the students to demonstrate on the quiz and how I wanted them to show this. I wrote much better questions as a result.
Third, the grades dramatically improved, in that the quiz average is much higher than the test averages normally are. Students learned and retained the concepts much more thoroughly than in the past---I base this on the sophistication and thoughtfulness not just of the quiz answers, but of the questions the students raised in class too.
Finally, the students were much less stressed out about being evaluated. Students can really get worked up over CS tests, but somehow when the evaluation was presented as a quiz, there was no widespread panic. Perhaps because the stakes on a weekly basis are so much lower than they are with the 2-3 test model, at least perceptually.
There were very few negatives in this experiment. One hope I had was that I'd be able to identify struggling students earlier and get them the help they need earlier (tutoring, etc.). Well, identifying them is one thing, but getting them to actually come see you to discuss it is quite another. The struggling students, even once I identified them, avoided me like the plague, not unlike previous years. Not much I can do about that one, but still. Second, I had a nontrivial portion of the class who completely flaked out on the quizzes week after week--as in not showing up for them, even though they all knew about the "no makeups except in dire circumstances" policy. Why anyone would throw away 30+% of the final course grade is beyond me.
The one thing I feared the most--increased time commitment of making up the quizzes and grading them--never materialized. The workload was completely manageable, and there was only one time where I did not get the quizzes back in the next class period.
One final note: There was one (only one) particularly bad quiz, in which all of the students made the same conceptual mistake on one problem. They all got the syntax right, but the problem asked them to do something they hadn't done before, and rather than reason it out they all panicked. I could tell when the students handed in the quiz that they were completely demoralized and disappointed. I was actually able to turn this into a "teaching moment": emphasizing the importance of algorithm development when writing programs. Which is something I talk about all the time, of course, but the quiz experience really drove this home to the students in a much more effective way. A fortuitous moment!
I've now tried this in two different classes with great results. I can't say that I'll do this in every class, but I will be more willing to experiment with the quiz model in future classes.