I heard an interesting analogy today that I hadn't encountered before: we learn in coats of paint.
First we get a general big picture with broad strokes, then as we revisit the material we add finer and finer details. This is why there's so much review in school; the first time you learn something like integral calculus it's all very new and confusing, but the third time around it gets a lot easier.
Interestingly, this is also how we play video games. At first you have a basic idea of what's going on -- the basic controls to make things happen on screen. After playing for a little while you find additional layers of strategy (or increase your skills) to the point where you understand finer details about how the game works. We even have a name for this: the MDA framework. The broad brush strokes (from a player's point of view) are the aesthetics, the feeling you get from playing the game. The medium-level details are the dynamics, the way that various components in the game interact with one another. The fine details are the mechanics, the underlying rules of how everything is actually resolved by the computer.
If this is, by its very nature, how we learn new material -- learning it once formally and then revisiting it multiple times until we finally grok it -- that has a number of implications for structuring a class. Among other things, it means that any individual course shouldn't be designed in a vacuum; it should have a lot of connections to other classes within the overall curriculum, so that each later class reinforces the material from the earlier ones. (I ended up doing this in a lot of my classes last year, not by design, but more because I thought some topics were important enough that I should make sure all of my students encountered them, even if they only took one class and not another.)
People who have Ph.D.'s in education probably have a theory named after some famous person in the field to describe all this, but I'm still just figuring it all out as I go...