I agree with what you're saying -- I thoroughly enjoyed the pure theory classes as part of the CS curriculum. I also agree that it is more important to teach concepts than specific technologies. That said, I think there are schools that fail to teach concepts as well... things like working as part of a team, using source control and designing a product modularly and writing code which would be considered "production quality." There's a tendency to put those things off because it is "just for a school project."