I was an undergrad at a more traditional school where we registered for classes months in advance. I was amazed that the Stanford system was so informal, but in practice it worked just fine. It's wonderful to be able to audit a few classes before deciding on exactly what you're going to take; you may learn that you can't stand a professor, or love a surprising subject.
I attended cal for grad school, and I love it in many ways, but I just don't see as deep a commitment to every students success. Don't want to overstate this, plenty of wonderful profs and staff at cal who make an effort, and the challenges of 25k undergrads is great.
But it pains me to see young smart people who stumble a bit in their first couple years bounced from a major because the dept is looking for reasons to turn students away. I thins the field loses a lot of c@reative people who would have made big contributions.
Cs hasn't been impacted at cal forr a while now, thought it was when I was there.
Fortunately there are other good paths for persistent students.
Or take the half of the big 4 CS schools: Berkeley is like many if not most big public schools in requiring you apply to either their Engineering or "Letters and Science" schools, and you can't take EECS without getting into the former, CS without getting into one of either (or at least that's what they say on their home page, their may be exceptions of course).
CMU is unusual for a private school in that you have to apply to their CS department which has a fixed per year class size of 135 (last time I checked). MIT and I gather Stanford are like most? private colleges in that acceptance allows you to major in anything you can do and to switch if you want to. If a major doubles in size "overnight" they'll move heaven and earth to accommodate the undergrads (which is a or the major theme of this blog posting, some panic that Stanford CS major enrollment is exploding).
MIT, mindful of the transitory popularly of fields (e.g. look at the early '70s areo-astro crash from which the field never recovered) has never let the EECS department---the number of professors and graduate students---get "too big", which sure appeared wise after the dot.com crash which resulted in undergraduate enrollment falling by more than 1/2. That put great stress on the department when it had 40% of the undergraduates in the 80s and 90s (and which they may be returning to, with their "CS1" course enrollment exploding from 250 last spring to 380 this spring). Enough that for a long time in that period they refused to offer a service introductory programming course for non-majors, citing their overload.
ADDED: I just found out that enrollment in MIT's 6.01 just jumped to 380 this spring from 250 last spring. As noted, you don't by and large take this course unless you're seriously considering EECS as a major....
So it looks like Stanford's experience is mirrored at MIT.
I know many who took computer science classes as part of a degree in biology and just ended up switching entirely.