I've seen some "practice oriented" bachelor degrees like "Software Development" that don't cover these topics at all.
I think more common is to have a few courses on it, but as a small part of the curriculum; which is largely forgotten by graduation time.
I guarantee that asking the average application developer about IO ports, out of order execution, cache misses, AST passes, stack machines, how a GC works, or even just how to implement a hash table or tradeoffs between arrays and linked lists will earn you mostly blank, confused stares.
I think more common is to have a few courses on it, but as a small part of the curriculum; which is largely forgotten by graduation time.
I guarantee that asking the average application developer about IO ports, out of order execution, cache misses, AST passes, stack machines, how a GC works, or even just how to implement a hash table or tradeoffs between arrays and linked lists will earn you mostly blank, confused stares.