Class-time is a minority of the learning time. The basic idea is to gain a basic familiarization before class, then (during class) hopefully have the professor explain the same ideas in a different way and provide an opportunity to ask clarifying questions. Assignments should be structured to illustrate the concepts and encourage reaching a bit past what was taught. You shouldn't be doing the bulk of the learning in the classroom itself, IMO. Homework is for you. Tests are a final feedback of the result of the learning process.
I guess my point is that learning in the "off-hours" is kind of the intention (and is part of the best-case scenario, as described above). 2 hours of lecture implies 4 hours (or more) of extra work, done outside of the classroom, on your own or with others. School should provide structure and guidance to learning (providing a schedule, and an appropriate order of concepts to learn). Learning itself is a separate process.