Sorry to hear about your S. Others have hit the nail on the head, schools like CMU, Georgia Tech and the like are hard admits for computer science, they admit relatively few kids who apply there and a lot of kids apply, because they have the name. In the music world, it is like Juilliard and Curtis, which have this reputation among many people that if you don’t get in there, you shouldn’t bother, and it is hogwash. Juilliard and Curtis get a ton of people applying because of that name, overseas those are magic destinations that kids all will want to apply to, and as a result Juilliard admits like 6% of the kids admitted, and many, many really talented kids won’t get in (one year on flute they were admitting 1 kid, and that was either UG or grad…!)…and there are a lot of great music programs out there.
Speaking as someone who is a hiring manager in the computer field, tell him that where you go to school with cs isn’t a go here or die situation. Getting into a program like MIT, CMU and Stanford, that are some of the top CS research programs in the country, can get you certain things, you can likely get interesting internships and the like, but it really depends on what he is gunning for. If your son is looking to become a software developer in the mainstream, going to a place like that is going to be less important then if for example he wants to work at a place like Google doing cutting edge research (more on that in a bit). Obviously those programs names can help get him in the door someplace,and access to internships at that level can be effective, but in the end once he starts working it won’t matter as much, especially if he is looking to get into regular software application development.
Even if his heart is set on working for a Google kind of thing, he likely would need a grad degree to do that anyway, so he could always go to a program, do well, then apply to one of the ‘big schools’ to do a masters, if his heart is set on big data or AI or machine learning and other esoteric research oriented areas.
Those programs can and do make it easier to get that first job, in other words, but for most programming work going elsewhere and doing well will likely in the not so long run end up with him doing just as well, the CMU/MIT/Stanford name on the degree will matter less and less as time goes on, what will matter is what he does in the work world.
I don’t know how much this will help him to feel better (might be more for the OP), in part what you are seeing is him judging his worth by what school he got into, it is about “gee, I am not good enough”, he doesn’t see that even kids with stellar stats get rejected from those programs. My S is going through grad school auditions in music, and he has done the same thing, he got rejected from even auditioning at a program and was all upset, assuming he wasn’t ‘good enough’ even to audition (turned out it was an administrative issue, his teacher, not surprisingly, hadn’t sent in his recommendation form and an administrator rejected him for that, it was reversed). he just had an audition he felt he screwed part of it up, and was upset, this despite the fact that he has gotten encouragement after auditioning at other programs that are equal or even better than the one he just did (and I suspect he will get in)…so it never ends:). We all look for confirmation of worth from outside, and this kind of thing hurts.