I then tried using Usborne basic books from the 80s, running on a BBC Micro emulator. I know, sounds like an odd next step... But boy, it DID work - he has been very interested in consuming computer knowledge for 2 months now.
The old Usborne books are amazing. 20 minutes of typing and you have a new simple game. I'd ask him to make changes (faster, easier, more lives etc) to the game and he learned a ton.
I held his hand in the beginning, also teaching him the problems with GOTO and some of the old school Basic choices, but he eventually became quite independent.
Now he wants to switch to Python after learning about its power so we'll do it next. But he has a much better understanding of basic constructs like loops, subroutines, variables etc.
Usborne books (bottom of the page): https://usborne.com/browse-books/features/computer-and-codin...