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.

Resources:

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.