As an aspiring entrepreneur with no programming knowledge I decided to spend winter break learning the basics of coding. I used the resources in Stanford's CS106a "Programming Methodology" class to teach myself and completed the course in about two weeks.
I loved the course and highly recommend it. It is taught in Java but with the aim of setting students up to quickly learn other languages.
Class homepage - CS106a: Programming Methodology
Zip of all class material: Course Materials (link found at bottom of class homepage)
I recommend following the course exactly and doing the assignments along with the class. I downloaded the videos through iTunes U and watched them at 1.7-2.5x speed through GOM (though you can use Windows Media Player); it made makes the hour long lectures less than 30 min and forced me to focus for the duration.