Because credentials matter to people that will hire you:
http://www.networkworld.com/ar...
Computer Science (CS)Rank: 8; Starting salary: $59,800; Mid-career salary: $102,000
Median salary for a non-degreed programmer is lower and chances for promotion are poorer and chances of getting hired in the first place as a programmer are lower if you don't have some kind of degree. With no degree, you'd likely have to work your way into that from some lower-ranked position.
Also because a CS degree really does expose you to different things that just programming does. You wind up knowing things that you're unlikely to discover on your own in a programming job, or likely to take much longer to discover.
I agree a CS degree may not be the best course. Software engineers start higher and have a higher median salary so that's probably a better use of a college education if you're able to take that path.
An associate's degree may also be a good compromise because it's a lot cheaper, quicker and has lots of formal training focused on core skills rather than the sprawling educational experience that is any four year degree.
Also an advantage of the associate's degree is that you can apply that as credit toward a BS if you later decide that you want or need more credentials to get the job you want.
But the idea that you are going to learn enough to be usefully employable in a couple of months is not realistic. With a background in a social science field, he's got some understanding of basic math and probably a good grounding in statistics and how to do research and maybe formal logic if he's lucky. He won't be able to become a competent-enough-to-hire programmer without years more study, whether or not it's self-study. He should think about leveraging what he knows. A MS in any science field has studied and (if he was a good student) knows a lot of different things that he can apply to jobs in many fields. But unless he has done quite a bit of programming, that's not one of them.