At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus.
Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
Start with something relaxed. There are introductions, O'Reilly's Head's Up series are often well rated by people starting out. Books and sites aimed at teaching programming to kids can be a good place to begin if you're self-teaching, it just makes jumping in a bit less of a baptism of fire.
You might want to view this course http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/ it's a decent course on how to learn basic programming.
I've done both MIT6.00 and Stanford's Programming Methodology and I'd recommend Programming Methodology. http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111
Not the answer you are looking for? Search for more explanations.
I agree with lando. Try the "How to think like a Computer Scientist" in the reading list
For an adult learner, the text is very promsing.
I reviewed stanford's program long ago. Personally, I think the mit course is much better teaching programming rather than Stanford's program which I think is too language oriented, rather than basic programming fundamentals. If you want to learn Java then Stanford's program is fine; however, for programming concepts in general MIT's program seems much better.