My database class epitomizes all that I hate about formal education. The professor is teaching nothing but theory, not a word he says is applicable in any way to real world database work. Now, that's not to say that I don't appreciate theory --- I do. But theory is best accompanied by current examples, historical changes, anecdotes, etc... Classes should not be entirely theory. The whole class is bored as hell. I only know what he's talking about because I've been doing database work for 5 years now. The rest of the class is going to walk out of there knowing a bunch of buzzwords but being completely clueless in the workforce. There's nothing worse than a CS student that knows buzzwords and can't perform.... absolutely disgusts me. I don't think schools are doing a great job. The best teachers I've had have been TAs, not professors. I think professors get off on the theory because it is exciting, but forget that most students don't have the experience to appreciate the theory.
I've asked two very good questions in class now about but have yet to get any satisfactory answers from the guy.