It should include a lot of math including a few semester of calculus, linear algebra, probability, etc.
Should be forced to take a few of the CE beginner courses like digital logic. And of course, learning low level OS development, networking layers, which includes C and assembly. Algorithms and some sort of numeric computing course using the learned math.
It wasn't until my last year where I had electives that I needed an IDE for dealing with high level languages and frameworks.
But I have a feeling that a lot of CS programs - especially those in lib arts instead of under the engineering schools - have really become watered down and glorified boot camp, and for several reasons.
* need more women and diversity to pass the program.
* colleges are addicted to the foreigners who pay full tuition. Who cares of half of them cheat, can't speak English, can't complete the work - they're paying $100k for that degree. And the smartest ones can be used as indentured servants in the grad school since they can't stay otherwise.
Anyway, when I do interviewing, I have noticed a decline in candidates even if they have a fresh CS degree. Many of them know things like React and Javascript, but are clueless with most of the subjects I wrote about above.