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.
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.