If you don't have a background in programming/computer science and come in fresh with starry eyes, you better be a prodigy in learning, because it's a lot of material in a very short amount of time.
If you don't have a background in programming/computer science and come in fresh with starry eyes, you better be a prodigy in learning, because it's a lot of material in a very short amount of time.
Shouldn't the introductory course sequence be designed to help all students master the material?
What's the point of teaching a class poorly or not giving students enough time?
Does Cal not have enough faculty to teach the follow-on courses if too many students are successful, so they have to prevent students from being successful?
When you have more people entering a major than you can handle, you end up having to weed some of them out.
If that seems nonsensical, well, maybe it is, but (I think?) it's not like the same person is deciding to do both of these at once. One entity decides to overenroll, another one needs to find a way to compensate.
Simple: the idea is that if you will likely fail the degree course, you should better fail fast to decrease your opportunity cost.
The problem is that because CS 10 is not a required course, most freshmen that come into Berkeley, many who were top of their class in high school, think “hm I can just take 61A since it’s mandatory.” It’s not entirely their fault, since Berkeley doesn’t do a very good job of advertising the CS 10 course. It’s fairly new, and there’s still a stigma around it — that you’re “not as smart” if you need to take it. The result is you have almost 2000 students every semester, and many of them are inevitably going to struggle.
I’ve sat in some CS 10 lectures (albeit while I was graduating with a CS degree and TAing CS 61B) and watched my friends do the homework. I didn’t have the luxury of taking CS 10. It’s a great way to learn how to think like a programmer. My personal recommendation is that every incoming Berkeley freshman going into CS should take CS 10, and it should be made mandatory. The CS degree only takes 3 years to complete all the required courses at a fairly leisurely pace, so there’s definitely room to add an extra requirement. Especially since now, the incredibly stupid EE16B has been dropped from the curriculum.
Why was EE16B bad? It looks like it covers some good material in terms of signals, systems, interfacing, and robotics? The labs look like fun also.
Was it too EE or controls focused - maybe a CS-focused hardware interfacing and intro robotics class would be better?
For pure CS majors, it should be an elective. But it was made mandatory until recently. The main complaint is that it’s intense and difficult - regular reports of spending an extraordinary time on the course per week. You can see how a lot of resentment builds up quickly.
Berkeley is a generally place where all the resources are available to you, but you need to do your research and make wise choices.
Berkeley doesn’t have enough faculty for all the students who join. So part of it is just pragmatism.
It also wants to maintain a certain level of prestige. The degree is fairly difficult to get.