I'd go as further as saying, that if you aren't able to self teach yourself programming, then you can't be a programmer, no matter what classes and universities you attend. Programming involves a lot of continuous learning anyway.
I would agree with this only to a point. Sometimes there is a wall that you run into that you can't make over by yourself. The little hint, nudge, or push in the right direction can open up understanding that maybe wasn't attainable alone.
absolutely! Best programmers are self-taught. Even CS graduates have to continue teaching themselves to be decent programmers.