I don't think that catering to what undergrads want is a good thing, at all. The majority of undergrads are 17 to 21 year old kids that really don't know what they want to do. They don't know the industries they want to get into. I certainly didn't, and my experiences at UIUC turned me away from going into game programming to a totally different space. And I wasn't a good programmer out of college. I was pretty terrible. But work has taught me a LOT, most of which I wouldn't understand without the theory basis.
>software engineering is obviously teachable (i've been doing it for 20 years) and that's true even if you personally didn't have any good software engineering instructors or mentors. it looks like you and i are in agreement that rapid change in software engineering makes universities not the optimal place to teach software engineering (that was the point of my post). but it doesn't follow that because universities are bad at this, that software engineering is "not teachable".
Like I said in my post, the difficulty of teaching programming and SE in general is that it's changing at an incredibly rapid pace. Languages have evolved. C/C++ were the de-facto languages for a while, then Java gained quite bit of popularity. Recently, C# seems to have taken a large majority of the mindshare.
20 years ago, a lot of SE practices were highly structured, highly documented(and highly wasting of time) systems. IBM's RUP is one example. 10-15 years ago, less structured systems like XP started showing up, and gained quite a bit of popularity. In the last few years, Agile has become very popular. I learned about RUP and XP in my SE courses, but the place I work at doesn't use any of the above.
So what would the program teach? Just the most current, up to date stuff? Or would you try to teach a bit of everything?
The problem with teaching just the brand new shiny is that you end up with the Java mills from the 90's. They're not teaching programming. They're teaching Java. And it may be worthless in a year. While that may just be what the student wants, it's not what society needs.