What I meant was that it's difficulty was in line with expectations for a lower division course given the difficulty of the upper div courses in the same major.
I got A's in all of my upper-level CS courses at Cal. Cryptography and compilers were a breeze compared to the CS61 courses. My average grade in the CS61 series was a B-. The semester I took CS61B (data structures), my grade on the final was 21, out of 100. The average grade was 16, and the highest score was 35. (The 35 is a VC now and is fairly active on HN.)
Hilfinger?
Which is not to say that I ever held that against him personally. It was kinda cool that you’d be in Evans at 2am and he’d still be randomly wandering the halls.
It's very clear in the catalog that the course is not for non-majors.
It sounds to me like you learned how to study after you did the 61 series, which is why you did better in upper div (I also did better in upper div for that reason).
Also, 61B was graded on a curve, and you did better than average. The tests were hard so that the people who truly grasped the material could demonstrate that. Profs hate it when a bunch of people get a perfect score, because then they don't know who the best is (and so do the top students). It's done that way not to be hard and make you drop, but so that talent can be truly differentiated.
2) It is my understanding that most of the weeding classes (CS61 and their counterparts in other majors) are now graded on a curve, but they weren't back then: your grade was your grade. Hilfinger and others like him are the reason for the change. Quite ironically, several of their colleagues noted at the time that these professors would not have passed their own exams if they hadn't written them. (The story making the rounds back then for the reason that Hilfinger agreed to curve his class: after arguing for a week that students deserved the grades they earned, he took a test prepared by a colleague trying to demonstrate that his test was too difficult, and failed.)