But hearing any lecturer or professor make any sort of statements about programming is never going to teach you ability and competence in programming, not like sitting in front of your computer and trying to convince it to make some cool trick that you saw or read about, or leaping into the open source community, or doing any kinds of hands-on, no-need-for-university-stuff programming, will.
Any degree at a good university will expose you to people much smarter than you. No need to study computer science for that.
Despite my strong interest and ability in programming, I did a physics degree. I don't regret that. It's given me a breadth of knowledge that I would never have achieved had I studied pure computing.
I believe that if you're a passionate programmer, you'll learn everything you need "on the job", so to speak (whether that job is paid or a hobby). However, there are many interesting things that you'll never learn unless you study them at university.
Do you feel that you could solve almost any problem (maybe not even technical-based) given enough time?
Despite the strong campaigning by my parents to declare CS, I entered the civil engineering program. It was tough to land my first real programming job, but I had trouble staying interested (and sometimes awake) during 8am structural engineering classes.
I believe undergraduate engineering is masterful at teaching problem solving. That can be applied to anything technical.
Honestly, after years of spending 3-4 hours on painful homework problems (like finding the forces internal to a wind-pushed power transmission structure), developing software can be a joy.
1st year - well-defined small problems (e.g. Physics 101).
2nd year - bigger problems, labs, basic hard engineering concepts (this is the weed-out year).
3rd year - problem-based projects. teamwork/collaboration. You're smart+lucky if you can solve/get the homework problem - even if you don't you're learning the process. Zero-force members..
4th year - Here's the situation. You define the problem. Go design a solution. Write a 100-page report. You have three months.
Without trying to appear super-arrogant, yes.
What I did learn from university, though (I went to Oxford... that probably helped.. hence a "good" university in my previous post), is that there are many people out there who can solve some of those problems a hell of a lot quicker than I can, with less effort - including things I thought myself really good at. That was a lesson in humility and worth the four years it took to learn it.
A computer science degree will also expose you to people much smarter than you, that serves as a useful humbling experience. This is assuming you are not the next Bill Gates (holds entire 8080 BASIC interpreter in head).