In the simplest sense, functional programming is a paradigm in which functions are the main building block (instead of objects or procedures).
There are a lot of debates out there about what really makes a language a functional language, but you don't really need much to get the most important benefits of FP.
This will be an index page for the FP-related topics. Each page/chapter is standalone, but they are also interconnected into the bigger guide.
Note: I'm going to mostly use JS as an example language, simply because is the language most people today know (and it has support for first-class functions).