This document provides an introduction to functional programming in Mathematica. It discusses functions in mathematics and how they are defined. It demonstrates how to plot and implement functions in Mathematica. It provides examples of functional programming concepts like recursion, higher-order functions, and immutable data structures. It also shows how to define your own functions and use patterns to specify function domains in Mathematica.