This presentation provides an overview of monads, including their origins in the 18th century work of Gottfried Leibniz. It discusses how category theory and functional programming relate to monads. Monads are described as containers that can transmit state using functions without mutation. The key aspects of a monad - the unit and bind operations - are explained. Examples of monads in programming languages like List and IO are given. Sources for further reading on the topic are provided at the end.