A lot more diverse than that at my university. The professors basically had a four by four grid: strongly typed and object oriented (Java, covered in the introductory programming classes), strongly typed and functional (Standard ML or Haskell, depending on what quarter you sit the class), weakly typed and functional (Scheme), and weakly typed yet object oriented (Ruby).
Once recursion was sufficiently beaten into you, it was not particularly new material. The Stanford curriculum here seems a bit better designed: most people will not implement a language of their own or use more than one or two languages to any great extent (and a fairly small percentage will actually touch Standard ML or Scheme), and this class is better targeted to those two: it lets them see what the ideas were behind the language and how they can choose the right tool for a lot more jobs.
In other words, the Stanford course is a bit better at showing the range of ideas and higher level languages to people who were up to that point Blub programmers (see http://www.paulgraham.com/avg.html , of course).
FWIW this is actually the old course website, the new one is https://courseware.stanford.edu/pg/courses/3524, though I'm not sure if you can see it without being logged in and being off-campus. When I took the course last fall we didn't have any of these readings, we just used the professor's textbook (with the exception of 2 of the haskell readings)
Fairly surprised to see an STM article linked. I wonder how soon the days will be where people learn STM and Actors in their concurrency classes first and these become the norm in the real world. You know, sort of like a parallel to how many people don't understand pointers or manual memory handling in C.
Way more comprehensive than my university's (I'm taking the course now) :/
Edit: For values of now that mean: this coming semester. This is unfortunate because I'm a massive programming language nerd (designing/implementing a language, plus contributing to VM implementations == fun).
If you think that reading list is comprehensive, wait til you see what the autodidact layman has to read ;-) Don't let your curiousity and learning potential be bounded by a formal curriculum.
PLs are immensely interesting and rewarding. Have fun!
Once recursion was sufficiently beaten into you, it was not particularly new material. The Stanford curriculum here seems a bit better designed: most people will not implement a language of their own or use more than one or two languages to any great extent (and a fairly small percentage will actually touch Standard ML or Scheme), and this class is better targeted to those two: it lets them see what the ideas were behind the language and how they can choose the right tool for a lot more jobs.
In other words, the Stanford course is a bit better at showing the range of ideas and higher level languages to people who were up to that point Blub programmers (see http://www.paulgraham.com/avg.html , of course).