Having done degrees in both electrical engineering and computer science, it seems to me that EE schools on the whole manage the theory vs. practice a bit better than CS schools do. Just as in CS/SE, EE has a wide range of topics, from the very practical ("how do we organize a team to build this") to the very theoretical (quantum mechanics, nonlinear control systems, signal processing). Yet somehow, no one in the EE i…
For example, as someone interested in going into AI research, the main things I wanted to add onto a PLs/theory/algorithms CS core when I was an undergrad were statistics and philosophy, plus a bit of (computational) linguistics and cognitive science. A rigorous grounding in advanced statistics, in particular, is becoming indispensable in some areas, especially as portions of the statistics field are actually migrating into CS departments (machine-learning and data-mining type stuff).
Within the confines of a 4-year program, I took basically no software engineering, and relatively little low-level systems/compilers/architecture stuff, to free up room for that other stuff. Other people chose differently, but I don't see any reasonable way to fit in all the relevant stuff in 4 years (for example, the people who took all the architecture/OS/systems classes typically didn't take more than one intro statistics course).