http://www.cs.cmu.edu/~rwh/plbook/book.pdf
Practical Foundations for Programming Languages
Some people on this list might find it interesting and useful.
He's also got an interesting blog, which discusses, amongst other things, teaching functional programming at university:
http://existentialtype.wordpress.com/
Cheers,
Bernie.