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.
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
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.