If you started upgrading individual components you will end up spending as much or more than the cost of a new computer and be stuck with a mediocre gaming system at best.
If you want to save money, have a good performance boost now, AND have a great performance boost a year or two from now, upgrade almost the entire system except for the video card.
@RodroX's first solution is a great build. If you do that and just use your current video card you'll get a good performance boost and save some money. Then in 1-2 years time you'll be set for another great performance boost when you buy a new gaming graphics card. This tiered approach to upgrades will always give you the best bang for your buck.
The couple things to consider with this option -
You will most likely need a newer, better PSU. Can you list your current one? Figure around $100-$130.
You, your son, friends, etc. will be putting the computer together. If you are not technically savvy, this will be a daunting task.
It's possible that you will need a new computer case, depending on the size. If it's mid or full tower, no worries there.
You will need to reload your operating system and reinstall all your programs, games, etc.