https://www.coursera.org/course/rprog - This is the best online course I've taken. Another one I am signed up for and have already done one week of lectures (preview mode) and find very applicable is https://www.coursera.org/learn/learning-how-to-learn/
I've been doing Coursera courses for the past few years in an on/off fashion. I'm pleasantly
surprised by the courses that are more popular in this list.
I think the pattern is that the foundational or introductory courses are popular as they have a
larger audience. But it doesn't comment on the quality of the course. An interesting data point
is the social media "Share" widget that appears on the right column .
'Newbie' covers many experience levels - from afraid to turn the computer on to moving beyond Excel pivot table macros. People need different degrees of handholding.
Not necessarily my favorite, Coursera's Programming for Everybody  moves forward very very slowly. Great for some people, drying paint for others. It is taught in Python.
A course I think is great is Coursera's Introduction to Systematic Program Design  based on Felleisen's How to Design Programs introductory text. It is possible to register for the last session, from a year ago, and complete the work on your own. It is taught in Racket.
Another course that takes a learn-by-making approach is Coursera's Creative Programming for Digital Media & Mobile Apps . It is beginner friendly and really encourages "getting into it". It is taught in Processing, and in some ways I think Processing is the ideal language for an introductory course in Software Engineering - it is pared down like Racket's student languages, provides just a pinch of Java pain, facilitates the production of really interesting output, and the environment provides a fast edit-compile-run loop.
For a person who is more oriented toward scientific or mathematical problems, Coursera's R Programming  might by a good fit.
Among the various Python Courses, I would probably go with Udacity's Design of Computer Programs: Programming Principles  because it is taught by Peter Norvig.
All that said, a book may be better than an open-enrollment class for many people, and there's a lot more variation.