You did not say where your son lives. If near a decent size town, I would have him look for a local computer shop that's been around awhile and have them put one together for him. Many shops will let you pick and buy the parts from NewEgg, Amazon, etc. and they assemble it and install the OS for a small fee. For example, we do custom PCs like that here for $50 to $100, depending on type computer (integrated graphics or card, number of drives, etc.). Installing the OS, Office, etc. will cost a little extra.
We help them pick the best parts for their personalized needs. We assume responsibility to ensure all the chosen components are compatible before purchase. I know many small shops do something similar.
We do things a little different here in that once the parts come in, the new owner puts it all together with us standing over their shoulder - if they want that. In this way, they learn about ESD, how to handle and install RAM, understand the many different PSU connectors, etc. and they become familiar with the components. They can install and setup the OS and their security that way too. Or, we will do it all, their choice.
There are many advantages to having someone local assemble it for you. For one, they are local! For another, no shipping charges and no worries it will fall off the back of the FedEx truck. If there are problems, you (or your son) will have someone local they can look in the eye! If there are problems, your son can take it to the local shop and show them the problem instead of trying to explain it over the phone to some Level 1 tech who only knows how to follow a check list.