Have them set a reasonable end-goal, a thing they'd like to make. Give them the tools to do this. Mark out some steps and scaffold them along the way.
When they've made that, ask what they'd like added. This introduces iterative development. Mark out a plan for that.
Then start all over with a similar but different end goal and have them gain confidence repeating/reinforcing the use of what they picked up with the first goal. Iterate in a different direction.
When adding a their project, perhaps the concept of re-use, making into modules or templates, might sound useful to them.
Then have them go less unguided by you personally with a self-paced course from Udemy or similar. They should be acquiring some self-teaching at this stage. Step in when they're having a lot of trouble.
The key theme here is building efficacy - sort of 'effective confidence' though a distinct term, and that's great for learning anything for life.
Edit: At no point be shy of printing a page of the code you're on and working through it with a pen. Things like loops and recursion might take some repetition practice on their own; introduce crazy things like while or even prove recursion through box logic if you're particularly sadistic!
No comments yet.