I always thought it was interesting that a lot of the top CS schools seem to use Java as their teaching language rather than C++ (or C). I've heard that MIT is using python (switched from scheme) and I know the University of Chicago uses Scheme. My school (RPI) uses C++, but I don't know anyone else who does. I recognize that the teaching language is largely irrelevant to the material, but I wonder why the departments choose the different languages.
That's only true for introductory and some algorithms courses. After that, it diverges mostly into C and a bunch of custom languages, such as MATLAB for theoretical courses. I go to CMU and I haven't really touched Java since freshmen year. But upperclassmen CS is still done in C majorly.
Yes, MIT shifted to Python for intro level CS classes. CMU is doing that following this fall.
Yale (not considered a top CS school, I know) still uses scheme for its introductory classes. With both Berkeley and MIT switching away, I wonder if Yale's one of the last holdouts.
I'm not sure I agree with you that language is irrelevant to material. I definitely notice the influence of scheme on my thought-processes when programming.
Stanford's intro CS sequence is CS106A, CS106B, CS107, and CS108.
106A is taught it Java. (It was taught in C until 2004. It's nice to be able to teach for-loops without also having to explain pointers.)
106B is taught in C++.
107 is now the first introduction CS students get to C and Unix. While 106B focuses on basic algorithms and learning to use abstractions, 107 goes into the guts of low-level C.
108 is on OOP and is taught in Java.
Higher level classes are either in C++ (all the systems classes) or Java (e.g., Natural Langauge Processing).
There are a few factors - whether the academics are in love with some particular language (i.e. Haskell, Eiffel, Smalltalk, or Lisp); whether there is pressure to use a language that will help students "hit the ground running" (i.e. industry buzz words that may be obsolete by the time the students graduate, or Java/C#); and whether it's easy to teach.
Imperial College Joint Maths Computing first year was Haskell, Turing, Fortran, Mathematica. And was undocumented - no books, had to turn up to the lecture and scribble.
That was 1997, I have no idea what's done there now.