I don't deny the need for a thorough and disciplined understanding of math and physics. But... I didn't understand the need for calculus until I needed a way to go from pos/time to velocity/time. I didn't understand linear algebra until I needed to transform vertices in 3d graphics. Personally I don't understand a hammer unless I see the nail. Engineering school is all about showing you everything there is to know about a tool except what to use it for.
I think E-schools should be like obstacle courses where you have projects that REQUIRE understanding of a concept in order to complete them. Classes about said concepts are given as the NEED arises.
Most E-schools suck. Just take as many project based classes as possible (CS is decent for this) and get a degree. Universities also have lots of grants that nobody knows about where you can get money to build cool things.
Maybe this is just me, but I don't think I'm alone. And it probably explains why I failed to hang my pictures with a chainsaw.
It's not so much something to "teach" as a culture that needs to be encouraged. Sure, you can offer some business, accounting, economics (entrepreneurship?) courses to engineers, and to some extent U of T does that. But the important thing is, after you graduate chances are you'll do something similar to your friends. All your colleagues are only talking about grad school or working on their resumes and applying for jobs? Chances are that's what you'll do. Been throwing around business ideas with your friends since day 1? You might actually decide to start something.
Don't know if there's an easy solution... good courses and guest speakers help... entrepreneurship/business clubs might help... but if the culture doesn't exist, how do you kickstart it?
http://www.zachbaker.com/articles/2006/11/30/larry-smith-the...
I'm personally in favor of noting the most capable students around 7th grade, let them finish highschool in 8th grade, and spend high school years learning depth and trying to make things people want. This might be a bit ridiculous.
What I'd ask is: what could you teach in universities that will help people later in startups? There are some interesting answers to that. One thing engineering schools could do right now is teach more product design, instead of assuming their graduates will all go off to work in big companies as mere implementors.
It's not much easier to get into than MIT, though.