I have a theory that the dot-com bust in 2000 and the outsourcing/offshoring hype in 2004ish basically wiped out two generations of computer science students. I graduated in 2004 and I remember the number of students in my major decreased dramatically between my freshman and sophomore year (some of that is the usual engineering major attrition, but I didn't see nearly the same decline as my friends in electrical/mech…
I'd also add one big factor: despite the poo-pooing by some of age discrimination, it's very real and when your parents or friends of your parents tell you from harsh experience that your career will be over when you reach 35-40 years of age, you listen if you have any sense.
Of course, now the name of the game is to get a good starting job, period. I suspect that has more than a little to do with the slight recent upturn.