It is important not to lose the underlying fundamentals, CISM people are good for talking to people and customers but cannot program. CS gives good programming, math, and problem solving skills. Must be able to learn new skills, so a strong math background and getting problem solving skills is important. He isn't aware of a course specifically dealing with this. Students are very good at following directions but need to be able to assimilate new information on their own.
Problem solving skills and how to look at something is very important.
Someone with a good background can pick up new languages easily. Problem solving is harder to pick up. Front load the curriculum with speech, public speaking, technical writing, and problem solving. Take engineering problem solving approach while teaching programming languages. Being able to interpret and break up a high level spec down into parts that can be solved.