I couldn't agree more. Though its not part of my major I think i'm gonna take a couple coding classes just to throw down on my resume.
Or maybe i'll just buy a book and learn myself.
I always found that it's difficult to learn how to program (or learn a new language) straight from a book. I'm a very hands-on learner, but in general I think it's best to either take a class or learn-by-doing.
I agree. Books work better for references and honestly, you're going to look online for the "i know this is possible, but i can't quite remember" moments.
I think that in the next few years, online lecture courses in coding from MITx, Khan Academy, and most likely others will be sufficient for the basics for the driven student. Khan Academy only has Python tutorials right now, but once you learn one, the others are much more simple.
That isn't to say lecture courses at a university won't teach you well, but it's a balance between major courses and courses you're interested in but will also require a good bit of work to be great at. Just my two cents..