What I really remember was EE40 taking like a week to explain Ohm's Law. I thought, Ok, I think I've got this class. But then it just went exponential and then the prof just dumped a bunch of chapters on us at the end that he didn't cover and said that'll be on the final. EE40 covered about a third of 105. EE40 just had an insane amount of material and labs. FWIW, I think 16A+B covers better material than EE40 did although I have a soft spot in my heart for what was EE20.
BTW, Calculus 1A at Berkeley, if you didn't take AP Calculus in high school, was brutal. Pointlessly so, since most math in non-math courses was pretty straightforward.
But all the freshman courses at Berkeley were hard. You either got up to speed or you got out. Upper division was even harder, but you were prepared by then.
Given that second-hand experience, I found the excision of all of SICP's math from the curriculum to be quite a good choice, as adding advanced math as another prerequisite would have raised the barrier to entry even higher.
(Side note: your description of EE40 sounds like a professor who didn't schedule well, not intentional difficulty.)
There was an intent behind the work. All of the lower div classes are hard with a massive amount of content. But you can show up a Berkeley from a substandard high school on the wrong side of the tracks and blow it out of the water; a buddy of mine was like that and went to Columbia for his PhD. It's very simple. You just have to work. Immediately. Day one. I don't think Berkeley EECS rewards creativity. Indeed I think EECS punishes creativity. But EECS teaches its students to work their asses off, regardless of whether they came from Lick Wilmerding or Skyline.
Go Bears.
In practice, some see the fact many tech employers give coding tests to people with CS degrees as a sign the standards at the end aren't as consistently high as one might hope.
I think a lot of interviewing style is fashion driven.
Also computer science isn’t necessarily about actually coding anyway. It’s mostly about algorithms and structure and complexity. Similarly, anyone who knows anything about university mathematics courses does not expect fresh graduates to be particularly good at arithmetic
Initial programming courses were electives, where you could choose between more basic or more advanced "intro to programming" course. Basic had python, while advanced had c and c++.
Similarly logic classes were in basic and advanced groups and it was easy to choose the group you want and switch groups during course.
In fact, I was the guy who came for CS degree after never doing great at math or CS in high school and it reaaaaaally helped me to get up to speed with the others.
What I imagine really smart person would do is: go to people giving the course for additional work or talk with them to show where they are at. Skip classes, read something else while in a class. Take advantage of knowledge to not care about the course curriculum and do his own research.
But that is my idea and maybe people who think their time is wasted could be a bit more humble and learn to work with other people.
>If those people who do not waste time are so smart why they have to be hold by the hand and given curriculum?
There's a culture of "rules apply to everyone" and people are not used to asking for special treatment. So if you don't make it super obvious, people will assume they can't ask for adjustments. Also, no tuition so weaker incentive to get your money's worth.
People who think they are exceptional are mostly just casual. (wink wink instagram)
Always seems to be the solution. It doesn't scale, even if you know how to make a PCB or a cupboard (for example), it doesn't take 0 time. That extra work would be extra time spent, which is nonsense if the goal is to demonstrate competency and reduce wasting time.
Plus, the extra work is still about the same course material - instead of one hello world you write two. It's not hard, it becomes depressing and demoralizing.
In many countries, these kids would probably not get into college in the first place due to failing preparatory tests. In the US there are many financial incentives to pull in as many kids as possible and that may cause a lowering of barriers.
An observation in the maths, many countries in Asia cover calculus at the middle school level and continue into high school, in the US I noticed many public schools categorize calculus as an advanced (sometimes elective) high school subject.
That said, if after your undergraduate degree you are unsatisfied by the amount of stuff you've learned thus far, there's an easy solution: continue on and pursue a master's degree.