Hacker News new | past | comments | ask | show | jobs | submit login
Stanford "Programming Languages" course readings (stanford.edu)
80 points by helwr on June 16, 2010 | hide | past | favorite | 11 comments



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)



Pleased to see the classic "Smashing the stack for fun and profit." Absolutely essential for anyone in the security industry.

Looks like the link is dead; here is a mirror: http://www.phrack.com/issues.html?issue=49&id=14#article


Came here to say the same. Some other links also require an ACM account, but can be found elsewhere:

Dijkstra on Goto: http://www.ecn.purdue.edu/ParaMount/papers/dijkstra68goto.pd...

Wirth on stepwise refinement: http://www.cs.inf.ethz.ch/~wirth/Articles/StepwiseRefinement...

Parnas on decomposition into modules: http://www.cs.umd.edu/class/spring2003/cmsc838p/Design/crite...

Ingalls on design principles behind Smalltalk: http://carlstrom.com/stanford/cs242/readings/10.pdf

Cook on Smalltalk collection classes: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24....


Here is the scan of the original typewritten EWD: http://userweb.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF

The entire EWD archive can be read here: http://userweb.cs.utexas.edu/users/EWD/


If you're pleased to see that paper there, you'll be even more pleased with the required reading for Stanford's security class.

http://crypto.stanford.edu/cs155/syllabus.html


That was the "one" link I tried clicking into. Thanks for being awesome bigmac.


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!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: