I think I would have enjoyed more programming courses, but I wouldn't have learned anything particularly useful.
I feel like a CS degree based around learning programming languages would be a huge waste of time. Languages are what you should be able to pick up very quickly on your own. They are just a tool. It's more important to understand the concepts used in computers and software. Plenty of people learn programming languages as a hobby, or as a teenager, etc. A CS degree has more to offer than that.
Similarly, getting an art degree isn't about learning how to use photoshop.
Also, if your professors didn't relate things back to the real world, that's a shame (and I would say a failing on their part). Lots of computer science concepts/techniques are useful for real world things.
The name of the field misleads a lot of people into thinking that CS is only about programming, but it's way more than that. Personally, I think all of my CS background from university is what distinguishes me as a software developer instead of just a "programmer".
I consider myself a software developer because I work on the software from top to bottom. From business requirements, to user interface and usability design, to architecture and algorithms. Someone who is responsible for all aspects of code, but not other areas of the application's development, is a programmer to me.
It's funny how all these labels we throw around in the industry have no generally accepted definition.
That title should be reserved for those who pass (a currently nonexistent) certification like other professional engineers, and indicates that they are capable of working on life-critical systems like car software, medical systems, space shuttles, etc.
Unfortunately startups and web/mobile app companies may abuse this and require engineering certification for job openings when it's just unnecessary.
I kept telling myself though, that upper year would be more programming/cs and less math. Boy, was I wrong. Upper year "computer" science is as far from computers and academically possible. Before dropping out I was able to claim that in my previous 5 "CS" courses only 1 had anything to do with programming.
The professors loved their theory and academia, and while all well and good, I wanted something more applied, or real, to relate to the real world. No professor ever tried to relate some combinatorial concept to anything happening in the real world today, which made me a very depressed student.
I finally decided (after sleeping on the decision for almost a year) to drop out and pursue a "Computer Programming" course at a Canadian college. I'm currently doing some pretty rewarding (both financially and experientially) contract development work for a local company while I wait for the College classes to start in the Fall.
Dropping out may not be for everyone, but if you realize that what you're studying isn't what you want to do, it might be time to shake things up.