In the workplace I definitely experience the difference between one who received a formal education, in the sense of raw theory, and one who studied how to "do" things. Both are useful, but they serve different purposes.
Sure, they can solve ACM-style challenges and spit out Dijkstra on a whim, but I can't recall the last time I needed to deliver on a business objective that mapped to either of those things.
This is not to say that understanding computer science is bad! Having a deep understanding of the underlaying theory and technology is a requirement to attain mastery.
But being able to ship maintainable, well-factored, and properly-tested code in a collaborative environment is far more important to me than having memorized every algorithm in TAOCP.
I mean, if I can have both skillsets, I'll totally take both skillsets, but given the choice between the two, I know that a wizard-level software engineer with very weak algorithms skills will, in general, bring a lot more value to a project than a wizard-level computer scientist that can't write code that the rest of the team can maintain.
About the only time that a computer science wizard is useful to me, is if I already have a team of solid software engineers, so that they can mentor each other and lift the overall skill level of the team.
What universities really need to start doing is including a multi-year track built into their curricula whereby students build and maintain production software over the course of their studies, with quarterly rotation between teams.
I actually think Universities do a disservice to their students if they promise them a curriculum that "leads to a job". You should go to University if you want to continue your formal education, not "to get a job". If you just want to get a piece of paper that lets you get a job, mentor with someone, go to a technical college, learn to "do" something. But Universities should teach how to think, that's about it, IMO. If you can find a job after should have no impact on the curriculum.
I would actually love to see this, but haven't yet thought through in-depth how it would work in the US.
Because right now, nothing like this exists, and until it does, the primary focus of most university students is to indeed "get a job".
I can say now that trusting the adults was stupid idea, I ended getting student loans, got a degree, but no job. I am 29 now and my government job registry is still empty.
The problem is the dog eat dog narrow mindedness of seeing everything as a competition and not learning anything about collaboration and serving others. Something a lot of CS grads would benefit massively from, I know I would have.
Schools attempt to cram as much information as possible in as little time in the overworked and overwhelmed minds of the students. The result is low retention and studying for the tests.
Knowledge and deep understanding come with time and experience in the presence of awareness.
The experiential parts of medical training for example are closer to hazing than anything else. We have enough research to know that the brain needs rest to process learning. Having people work for 24-36h straight does not do anyone a favor, is not sustainable and presents significant dangers to everyone involved.