I am one of the lucky people to have been taught Functional Programming by Philip Wadler back in the 1990s. He's a brilliant, funny lecturer. This quirky talk is very similar in style to some of the lectures he gave me in 1st year.
I wish I could get a foothold on natural-deduction. I feel that it would be great to have an intuitive understanding, but at the moment all I can see is symbolic manipulation.