In addition to teaching core engineering subjects, I think we need to add three (may be optional) courses.
2. Learning and Thinking
The idea is to give students an appreciation of what entrepreneurship is all about. Students joining smaller start-ups learn every thing faster in the first few years (though may not make as much money).
We take both learning and thinking for granted. The best training we can give students is the ability to understand how they learn and think. We can include several aspects of thinking including critical thinking, later thinking, thinking about thinking etc. Learning to learn is taught implicitly (by just forcing them to learn a lot). Increasing awareness of learning styles, multiple intelligence will help students realize several ways to accelerate their learning.
Innovation is taking ideas and realizing an implementation (the joy of doing). Most of the labs I see repeat some standard set of problems. Why not let the students do a bit of exploration and research in problems they are interested in solving and innovate in identifying and solving problems?