Throughout my undergraduate study, I only heard about Functional Programming but had never been deep inside it. Then, I had the chance to dive into it for one semester at RWTH Aachen here. In short, the course was totally fun to get to know Functional Programming! Moreover, it improved my mathematical proficiency as well :-)
The given lecture materials are here.
I archive my lecture notes here.