I graduated in 2015 with a BS in Computer Sciences...and ill throw my 2 cents out there on how/what we were taught and how I would change it.
What we learned (from a non-programming standpoint):
"Database Systems", "Computer Organization, Architecture, and Communications", "Distributed Computing", "Advanced Networking"
These were the classes I took that had nothing to do with actual development. From my standpoint, they provided a solid foundation into how everything worked and communicated with one another at a high-ish level. The exception to this was the networking class, which for us, was a complete joke. Had the grading scale been a traditional one, everyone would've failed. They tried to cram everything possible into a single class, teach as fast as possible, and then expected us to take something away from it. I passed with an 82%, however on a traditional scale i had a 41%. This wasn't terribly uncommon for us in a couple of classes at school. Back to speaking generally, what really hindered us the most i would say is a lack of hands on experience. There were no physical scenarios we had to work through, nothing was based on how things worked in the real world, I actually didn't have a single class that used a Linux environment (or Windows for that matter actually). Everything that was taught to us was simply from a textbook for the most part and that was that. Segue into how I'd personally change it...structured more around how things work in the real world. This is due to the fact that coming out of school (granted, im a software engineer) no one wanted to hire me because what was actually being used was never taught to us. I submitted my feedback to previous professors before, but from an IT standpoint i never saw a rack of servers, or even a single physical server, or a VM. Never got into how any of that worked. Even from a development standpoint, everything we learned OOP wise revolved around Java, but not even using the latest frameworks. Thankfully I landed a job in an ASP.NET shop that was willing to teach me, but from my perspective their coursework was so far behind in school that it did more harm than good. Call it a solid foundation if you will, but when your foundation is based on technologies no longer being used it does nothing to help you prepare for the real world.
That being said, i dont think most universities will be at a point where they can teach us the most up to date stuff all the time. They still need more hands on experience for sure, as exposure to most of this stuff, even at a high level, is better than nothing imo.