This is how Dr.Racket and Khan Academy pretty much teaches programming. But note that for a brain which is not naturally inclined towards programming (and numbers), the examples increasingly get very complicated and fast. I say this as a non-programmer who has spent a lot of time trying to learn programming on the side. I have eventually concluded that all these "teaching beginners programming efforts" lack the real world middle-ware modules, where one learns to practically program with database etc, for useful applications.
In any case, the methods presented here, are good, but not necessarily pedagogically perfect.