The one thing I appreciated about my Computer Engineering undergrad - and it took me a few years to fully appreciate it - is that yes, we did cover those levels.
The first two years were shared with Electrical Engineering. The second two years started to specialize towards Computer Engineering topics.
* Physics and chemistry.
* Circuits.
* Transistors.
* Logic gates.
* FPGAs.
* Assembly.
* Compilers.
* CPU and hardware design.
* Operating systems.
* Networking layers.
* Programming languages.
* Computer graphics.
Did I master all of the above - absolutely not. I loved some of them, struggled with others. Generally the cut-off for how my brain works is logic gates, I was never strong at the levels below that.
But we did cover them, and I could honestly say I had at least a rough understanding and mental map of everything that happens inside a computer from the point where it's plugged into an outlet, to the point where pixels show up on the screen.