Computer science curricula usually contain an introductory algorithms and data structures class, but these don't usually put focus on topics like cache locality or branch prediction.
Do you agree? And if so, would that—at least partially—explain your observation?