After reading a interview with Randall Munroe (XKCD) i find myself wondering if what is needed is a computer engineering course alongside existing computer science courses.
http://www.maa.org/publication...
"And there's another distinction: There's coding, and then there is computer science. The best explanation I've ever heard of that is that coding is writing programs, and computer science is the study of computers only in the sense that astronomy is the study of telescopes. I think that's a really concise summation, because computer science isn't the study of computers, it's the study of what you can do with a computer and what stuff you can explore with a computer."