When I went (early dotcom to not-berkeley) they would milk the poor saps for a couple of years knowing they would never make the cut.
I think weeding earlier would be kinder.
This especially sucks for CS since a nontrivial portion of incoming CS students have programming experience but a large number have none. Using a 101 course as a weed out has the effect of stratifying these two groups. As one would expect, men are disproportionately likely to have prior programming experience so this process contributes to gender imbalances. CMU found that reorienting its curriculum to not place so much emphasis on prior programming experience in intro classes had a significant effect in reducing the number of women who tried CS and then left.
The previous CS major declaration standard was roughly the median grade (B+) over three intro courses. The intro courses have standard "grade bins" to prevent sections from turning into the Hunger Games. In recent years, far more students were getting into L&S CS than into EECS.
So they were clearly not optimizing for weed-out.
When I was there 20+ years ago, the intro course (CS61A) was definitely known to knock the unprepared/uncommitted out of the running. Back then it was taught with Scheme out of SICP.
Why do that?
reduce noise is increase signaling
Because it is hard to judge who will make a 'good' computer scientist based solely on SATs and high school grades. Letting everybody take a real computer science course and exam and then judging future potential based on those results should give a much stronger signal
TFA is literally about how there's not enough room for everyone.