Google expects its software engineers to do all that and more with a computer science degree. So what if it's not taught in the major? You're smart -- figure it out.
Don't get me wrong, I'm plenty capable with real world stuff. I just don't like it when people think a CS education should mean learning Java libraries and design patterns and server configuration. I'm glad I wasn't forced to waste my time taking classes devoid of conceptual material.
I agree that CS shouldn't mean learning Java or ASP.NET from top to bottom, but it wouldn't hurt to have an idea about them. Also let's not forget that even Peter Norvig said Remember that there is a "computer" in "computer science".