With regard to programming languages at UCB in 1980 ...
I'd done something of a survey of colleges, and in my mind at the time, there were
two approaches to a CS degree: mostly or entirely theoretical (those CS departments that
had grown out of Mathematics tended to have this focus), or more practical
tools/techniques/operational theory (those CS departments that had grown out of
Engineering tended to be this way). UCB was definitely the latter, and that's what I
wanted.
I got to UCB in fall 1980, admitted to the College of Letters & Science. At the time,
there were two ways to get intro to programming:
CS1 - FORTRAN IV, taught on the CDC 6400 running CalidoSCOPE in batch mode with real punch
cards, punched up on IBM 029 keypunch machines.
CS3 - Pascal, as Clem described.
CS1 was for engineers & scientists, CS3 for students who wanted to get into the CS
degree program in L&S. You could take CS1 in lieu of CS3, but that was frowned upon.
Two paths to a computer science degree: A.B. CS from L&S, or B.S. EECS from the
College of Engineering (which you had to be explicitly admitted to before you got there).
There was a basic difference in emphasis between L&S and Engineering for CS: L&S
was "software with a smattering of hardware" (cf. CS-150, CS-152), and
Engineering's EECS (B.S.) degree was the inverse: "hardware with a smattering of
software."
L&S was the largest "college" at UCB: everyone got into that one
"undeclared", and for your freshman & sophmore years, you studied to
accumulate course credits towards declaring a major once you had "sophmore
standing" (however, if you were prudent, you accumulated credits towards a
"backup" major if the undergraduate degree program you wanted
wouldn't/couldn't let you in). If you couldn't declare major at sophmore
standing, you were bounced out of the university. Some of this setup was hangover from
anti-student radical policies from the 1960s: prevent "students" from hanging
around the university forever (and fomenting).
The "weeder" course for L&S CS was CS40: more Pascal than you'd ever
want to code in a lifetime. L&S CS needed that filter: just before I got there,
they'd let anyone into the program, but in 1980 or 1981, they limited the class size
to 200 undergrads because there was too much demand from students for that degree program
for the department to handle - didn't make the cut? I hope you have a backup major
...
They didn't formally teach C to undergrads until "upper division" (declared
major in CS, junior or senior standing), and IIRC, there wasn't a formal course in it
- you were expected to pick it up as part of the upper division course in operating
systems. After all, you already know Pascal and Assembly, right?
Of course, once you had an account on one of the PDP-11/70s running Unix, C and shell
programming was entirely available to you, so I went for what amounted to self-directed
learning (reading manuals & books) as fast as I could.
Erik