The main problem is that what you call foundational knowledge is different from what the next person does, and the union of all the 'foundational' knowledge is way bigger than a CS major in the USA.
Your typical liberal arts degree has 4 years; about 2 of them are dedicated to liberal arts, or core education, and two years to the major, so you only have, say 16 classes for a CS major. Of those, say 4 are math, 4 are the intro programming sequence, and 3 are the architecture sequence (circuits, architecture, and operating systems), so you only have 5 or so classes, for your foundational classes and cool electives.
What normally happens is that, depending on uni and student, students will take some of them, but not all of what you call foundational knowledge. And the same with what the next person wants ;). Your foundational knowledge doesn't include AI, Data Science, cloud, mobile , graphics, UI, ...