The TI has always included a programming language and interpreter in their calculators. It used to be "TI Basic" but now it is full Lua. They have hundreds of example programs to look and and learn from and tutorials galore.
The thing that finally made it click for him was, he could take this little handheld machine anywhere and whenever a programming thought struck him he could try it. Soon he was building reusable functions and libraries of reusable functions and everything clicked.
Now he's transferring a lot of that knowledge to other languages, most recently Python, without any trouble at all. I would recommend it to anyone with a kid who is interested in learning.