@regehr a friend and I gave a free python programming course once and followed it up with a paid course (with exceptions for anyone that couldn't afford it)
The free course was attend by kids with a real curiousity, whereas in the paid course we found many students that took the course because their parents thought it was a good idea. Though I'm entirely for that in some instances, I did find that several of them didn't engage as much with the course work.
I teach by asking reflective questions, explaining fundamentals and nudging, surely much to the frustration of the student, but ultimately those aha moments are more powerful when you come to them from your own side.
Further to this, I found the fear of failure, not to "break" things, and not to be "wrong" prevented several of the kids from making steady progress.
In the end I know of at least two of these students that pursued programming, with one actually studying CompSci 