Functional Programming for the Uninitiated
Functional programming is notoriously difficult to understand. The topic of monads for instance, is so difficult there's a video to help you to not fear them. These are unusually high stakes for a programming topic. And even if it's not frightening, it still might not be worth knowing or worth the time to learn it. The basics of functional programming, however, are both easy to understand, and incredibly powerful tools for taming complexity and writing usable code.