It's really clear to me that short feedback loops and visual output are what make programming accessible.
In middle school I was in the most advanced computer class offered. It involved lots and lots of typing practice and basically just doing office-work projects in random Mac programs. My biggest regret was that the promised "programming" lessons consisted of typing printed Java code from a piece of paper and into a text file. No explanation of what the symbols were, what Java was, nothing. I was pissed. I failed that module. I felt so misled that I flat out refused to do the assignments.
From then on I resolved to teach myself. I somehow convinced my mom to buy us a computer. Once we got dial-up, I struggled with VBA, Flash Actionscript, C++, Tcl, Python and on and on. None of it had a manageable learning curve for me.
One day, I discovered Game Maker. The day Mark Overmars introduced the C++/JS mash-up that is Game Maker Language changed my life. I learned how to plan projects, how to invoke spells of hyperfocus, how to read technical documentation and on and on. It taught me algebra concepts way before I knew what algebra even was. That was all possible because I could type some stuff into the editor, and within a few minutes, actually see sprites move around and respond to my input.
Damn. It's been 20 years. I feel like I should be a coding God now. It's funny because I don't expect myself to be Shakespeare just because I've been writing words my whole life... Anyways, my mind wanders.
Oh, tutors. I never had a tutor. If you want to make your kid a genius, get them a 1:1 tutor. That provides social modeling, mentorship, immediate feedback and personalized lessons. I would venture to say that tutors may still be valuable, even to adults...