Erik Meijer, an excellent lecturer and one of the smartest people at Microsoft, is giving a 13-part lecture series on "Functional Programming Fundamentals." It begins here.

I am absolutely positive this will be worth the time invested. I just listened to the first lecture, ordered the textbook, and fired up MonoDevelop to do the homework from the first lecture...

[Update:]{style="color:red;"} That was fun. It highlighted that I don't know LINQ as well as I ought: I spent more time trying to deal with flattening lists than with the quicksort algorithm...