The top 20 CS/EE/CE/ECE/EE degree programs (MIT, CMU, Stanford, Cal, UIUC, GT, UT Austin, Purdue, UW, UCLA, UCSD, Ivies, UChicago, NYU, UNC Chapel Hill, Duke, USC, UMinn, UMich) graduate around 15k-20k undergrads a year.
Throw in the next rung of well respected universities (eg. the rest of the state flagships like ASU or IU, the respected regional public programs like CalPoly, NCSU, or SUNY Buffalo, and the handful of regionally respected privates like WPI, Cincy, or both Rochesters) and that number likely doubles.
If you're graduating almost 50k grads a year from target programs, there just isn't enough room for the rest.
Choosing to go to (randomly choosing two universities to pick on) USF or TCU for CS straight out of HS instead of going to your local CC and then transferring to UC Davis or UT Dallas is dumb.
In 1980 you had a little under 2,000 4-year colleges in the US. In 2010 you had almost 3,000 4-year colleges after which the number of institutions started declining. Making more colleges while existing colleges were expanding headcount did nothing to help.