Ask HN: Looking for advice: How do you teach a child computer science?
I currently think letting the child take Udacity courses, using online resources, and working on problems from Project Euler are a start. While the child is learning on his/her own, there will be one-on-one sessions to elucidate concepts, to introduce new ones, to review old ones, and check work. I think that it is important to show connections from the topic of study to examples in the real world. I am beginning to think that a very useful approach is almost an apprentice model: the tutor and student agree upon a large project to create together with ideas coming from the student and support and guidance coming from the tutor. Once the project is selected, the tutor breaks the project down into actionable items that are learning opportunities (e.g. here would be a good place to practice OOP or a design principle, here would be a good place to examine computational efficiency/complexity, here would be a good place to examine recursion). The smaller pieces will add up and get "harder" until the tutor is autonomous. The tutor does the heavy lifting things that are fundamental and currently beyond the abilities of the student.
* I am not well versed and will be doing my own research into the "how to" of this question. I wanted to ask this here to see what discussion emerges to facilitate what I find and devise.
Thanks!