I'm 30 and pretty overeducated already with a BA and Masters degree. I work in a generic backoffice type job, not technical in nature. I want to learn programming, initially as a hobby and MAYBE (if I have interest/aptitude) as a jump to a different career.

I've enrolled in an Intro to Java class at a community college, taking it online. But 3 weeks in, I'll probably drop it as between 50-60 hour workweeks and everything else going on, I shouldn't have taken a condensed 6 week summer class. My main reason for taking this class was to get a feel for what programming is and whether I'd enjoy it, as I've never programmed before. 3 weeks in, I am enjoying the class and want to learn more, but right now I just don't have the time. So here are my questions going forward:

(1) Is self-learning effective? This online class is basically self-learning off a textbook anyways, so I'm thinking going forward if I want to keep learning Java or any other language, might be better picking up a book and self-learning at my own pace. Or is a classroom setting preferable?

(2) Learning HTML/CSS/Javascript: I mentioned my interest in programming to a web developer at our company. He said they could use some more help, and recommended I learn HTML/CSS/Javascript and he may be able to give me some stuff to do (although no promises). My own boss in my department seems pretty open to it. So I might be better off learning web development right now. Our company's website is very similar to this one: http://phoenix.gov/#a3. What languages would I need to learn, and how long would it take me, to be able to create a website like that from scratch (with working links and all that) if I wanted to do so?

Could you recommend some good resources for self-learning web developing? I'm guessing books would be a good start, and also maybe some websites/forums to go to for help/questions?

(3) If I eventually want to go beyond that and learn a language outside of web developing, would Java be a good one, or something else?