The online educational options to learn programming are legion.
add Quora answers
MIT old school
Udacity: The prime differentiator in Udacity is the style of video editing. Effectively, the transition for the professoriate from lectures from notes to lectures on multimedia video will probably take a generation. (The first generation of courses up on itunes, just audio or video recordings of what was taking place in class, demonstrated the need for the transition.) There’s a lot of dead airtime that can be edited out. Udacity has a team of editors who help tighten the presentations by, for example, not having long numbers like the speed of light in meters per second written out digit by digit repeatedly. They also have a proprietary format which shows a mostly transparent hand and stylus hovering over the
material. I found that approach distracting at first but increasingly engaging as the course continued. Quizzes are transposed on top of the video in the same screen which avoids the need for any scrolling but also limited the style of questions to check boxes, however there are separate exercises in the same window size for actual code.
The Quizzes are far too frequent, and obvious. The introduction expresses that this is to help students remain engaged but the
Breaking up the march through concepts with some slides of computer science pioneers is welcome — it is a substitute for a deeper understanding of theoretical computer science as one would get in a normal collegiate course. John Backus (& Backus Naur forms) and Grace Hopper for example get cameos in Unit 1.
That instructions and even code is handwritten is unusual among online computer science courses.
Coursera’s intro course also uses Python (though, unusual for its peer group, Python 3 instead of 2.7.) Learn to Program: The Fundamentals by Jennifer Campbell and Paul Gries of the University of Toronto. Of this writing it had 7.9k likes on Facebook, 1.7k Google+ and nearly 1,100 tweets.