Current CS undergrad at Berkeley. This is the main problem I have with Berkeley. You can interact with the faculty plenty (at least in my experience), especially when you get to your upper division classes. I don't really do that much anyway and care more about how well professor's lecture than anything else.
The problem is that it's becoming increasingly difficult to get into the upper division classes you're interested in. There are just too many people and not enough space. My smallest class is 30 people, but it's a graduate level course, while my other two upper division CS classes have 400 people and 315 with 75 on the waitlist. I thought my classes would get smaller as the semesters went on, but that has not been the case.
The first time I saw videos of top tier freshman engineering, math, and comp sci courses, I was schocked. The problems were manageable, the pace was reasonable, the teachers were engaging..... and when I saw the course material and realized the tests were easier than the ones I took at my much lower ranked school, I realized I'd been had.
The worst, most socially irresponsible aspect of this practice of "funneling" and "trapping" your students into less desirable majors is that students who otherwise would have been engineers end up learning less useful things. Virginia Tech, and schools like it, are responsible for making the world have less engineers than it should.
Now, would we prefer a hard program where students would fail out instead of being stopped at the door? This also seems like a waste of resources, but it could work given the right technology (e.g. online courses).
That's not a specific university. That's engineering schools in general. "We'll throw you head-first into the ocean, and see if you survive. If you do, congratulations, you've learned to swim!"
1. As you say, the introductory classes are enormous. For the math classes this means less feedback on your assignments. What this also means is that you have other undergrads grading your work. If that doesn't terrify you, then it should.
2. Inadequate preparation. Similar classes in other departments have more prerequisites. I'm currently attending a machine learning class where more than half the class is probability-illiterate. Take a look at how the core math curriculum is taught (algebra, analysis)
3. Professors and graduate students are out of sync about the material and assignments, which leads to situations where nobody can answer your questions. See cs162, cs61c. I've heard similar rumors about 161.
4. Only 5-10 upper division undergraduate cs classes. Interested in type theory? Practical encryption? Computer algebra? You're out of luck. Most other universities seem to offer a lot of variety.
5. Less treatment of the fundamentals. Our systems class no longer goes into any depth about malloc. They've replaced it with a section on map reduce. Similar situation with the operating systems class and I believe the security class.
6. The people who rise to the top are the people who were probably going to be successful anyway. That's just my experience/bias though.
As someone who is an undergraduate TA (for computer science), this doesn't terrify me any more than overworked and underpaid graduate students grading assignments, or overworked research faculty who don't have any incentive to grade well. My anecdotal experience has been that it's generally the top 1-3% of undergrads who end up TAing or grading (in CS, at UVa; mileage elsewhere may vary), and those who do take it pretty seriously (here, at least, we're paid and it's a job). Most of the people I've TA'd with (and myself) take at least one graduate course and actually know the material better than most graduate students (since we've taken the course and universally done very well in it). UVa also rotates graduate TAs out after a year (to research or other things), whereas undergraduate TAs can stay on the same course for two or three years, which offers much more continuity for the professor and fewer TAs who are completely lost. I might be biased (see also: I get paid to do exactly what terrifies you), but I think that if the undergraduates aren't just unpaid volunteers, you get better results than using graduate students for the same things. Unpaid volunteers are much worse: you don't have to pay much, but paying someone for something makes it a job, which switches people's headspace from 'I can drop this' to 'This is my job, and I will do it well'.
I know of almost no university besides maybe MIT where there's no bias in the teaching and research towards certain fields and away from others. It's quite unfortunate, but you have to choose your educational institution based on what specialties you want to enter.
I dont think it even has liberal arts major, heck they don't even have an undergrad business degree because they want you to actually pick something to major in.
Disclosure- I'm a Vandy Engineering School grad
As a current grad student here: it's a fantastic research university and a beautiful campus, but the undergraduate experience is terrible. Classes are giant and there's very little faculty/student interaction, because the focus of the faculty is, for better or for worse, not on undergraduate education. Yes, there are some incredible undergrads and some great opportunities for the 0.1% of them who really stand out, and of course the grad programs are great -- if you look at the US News grad program rankings, Berkeley is top 5 in almost every discipline -- but overall the undergrad program is ranked just about where it belongs.