I'll try to help, but I am not an expert. I am casually learning how to make video games by myself and I do not have very specific goals in the process. However, based on my experience I might recommend to check out Unreal Engine and Unreal Engine tutorials: https://docs.unrealengine.com/latest/IN ... index.html.
If he wants to make video games, he will need an engine and, from my researches, UE4 is the most accessible and also one of the most powerful if not the most powerful. You get the full version free, but if your son ends up publishing his game there is a 5% royalties, which is more than reasonable if you consider the price of other engines. It's quite enjoyable. They have made a lot of efforts to make it easier to grasp on by self-learners. They produce plenty of tutorials that assume you know nothing either by written step-by-step guides or videos. They also have a very helpful and knowledgeable community.
It offers visual scripting through a Blueprints system, which is a visual C++ inspired scripting interface. That's what I am learning currently. It is not as powerful as C++, but it is much easier to understand at the beginning. For my personal needs, it is more than enough. With that said, if his goal is to work as a professional coder, I would not suggest to use blueprints that much as it is very likely the industry will not engage professional Blueprints coders anytime soon if ever... I think it was intended for casuals like myself or for artists who could start adding minor things on their own without having to bother the programmers. I find that Blueprints can be a nice step that can eventually lead to C++ as it offers the same kind of procedural thinking which is at the base of every computer language, except that it's visual, it offers you some tool tips and other helpful things. It might be a good idea to look it out and see what he would prefer to start with.
Further more, you can't do much with just code. While I am learning a little bit of everything to be able to do it all by myself, it is really not a very efficient way to do it. It's only because I can't stand to share my creative process with anyone. It's always good to know a little bit of everything that is required in the production of a video game, but usually people will focus into one aspect and work in team. Regardless, it is still possible to learn a bit of everything, be better at one thing and still make small good games alone with time and patience.
Finally, while Unreal Engine is getting more and more accessible, it still has a rather rude learning curve at the beginning. It can be both frustrating and overwhelming at first. Perseverance is the key. At some point, the learning curve gets more reasonable. I have found it helpful to be aware of that as it can be a struggle to do the simplest thing at the beginning.
Good luck to your son.
_________________
My first language is not English. Sorry for the mistakes.