I'd take a different approach. Get him into scripting in Roblox. Both of my kids learned lua mostly on their own just because they wanted to make their own gameplay. Both went on to computer science and are doing 'real' software development now. But they learned programming concepts without going to deep in the weeds of low level stuff. The hard part of game development is making fun gameplay, so rather than focus on rendering, etc., help him make gameplay.