This is why I feel the recentish (last 10-15 years) shift in decoupling CS curricula from EE and CE fundamentals in the US is doing a massive disservice to newer students entering the industry. DSP, Control Engineering, Circuit Design, understanding pipelining and caching, and other fundamentals are important for people to understand higher levels of the abstraction layers (eg. much of deep learning is built on top o…
I know at MIT it was (and I think still is) one major - EECS, and students had substantial latitude on how much they wanted to concentrate into hardware or software at least after the intro courses.