I agree with Art. The second option (randomize within classrooms) doesn't per se get rid of the classroom effects anyway. (Classroom effects could be from teachers, or certain people self-selecting into classrooms, or contamination between students among others I'm sure.) So I'm not sure what you gain from it besides head-aches in implementation. (On-line classes it seems doable, in person off-hand it seems very difficult.)
Also two presents a confound with the status quo of teaching that could have undesirable effects. Say for instance both experiment and control do worse than prior data would suggest. It could be from splitting the class in half it causes adverse effects.
I'd suggest picking up any book on multi-level modelling. Experiments of this kind were one of the main motivations for development of the field. Controlling for classroom isn't difficult with current software (as Art mentioned), and it can potentially add useful insight into the experimental analysis. (It certainly is more true to how it would be implemented in practice anyway.)
Andrew W