Over at Lambda the Ultimate there is a short article about how to teach programming. It links to a very interesting presentation that talks about why students shoult be taught one semester of functional programming, and then OOP. This seems to make a lot of sense, and makes me want to learn one of the very cool functional languages like OCaml or Erlang.