BobCAD V24 Standard
Everyone will have a different voice about what is the best way to start. But we all agree knowing about the G-code, how to write it and what it does will make your son a better programmer in the future.
1) Having a basic G-code editor and back plotter is a great place to start. There are many options to choose from for this time of software and the cost is very low. Being able to hand write code and plot what it will do on the machine helps to learn G-code and ways you can use it .
2) CAD; you need to look at a basic cad package that will allow you son to draw some part concepts and help to work out the math for writing the code by hand.
Video Example:
CAD For Code - adepoalo's library
I would recommend using a mechanical based CAD package
3) Basic CAM; you don't need all the bells and whistles of a high end CAM package, you would want to keep it simple. Learning to crawl, walk, run. I feel BobCAD is a great solution, it covers all the basics he would get into and offers 3D features for future projects.
BobCAD's place in the industry is a starting point. It has a broad range of features that covers CAD CAM and Simulation, some shops never need anything else. It's low cost and arguably easy to use. BobCAD did just release a video training program that would walk your son through the basics of design and machining so he can learn at his own pace.
You could also easily choose Rhino and Visual mill / Rhino CAM, or any other number of lower cost systems.
I happen to work for BobCAD, so I am partial to it. Having worked with clients just like yourself for years now, I know BobCAD would be an option for you.
If there is anything I can help to educate you about the BobCAD please feel free to PM me.
Al