Historically, functions described how one varying quantity depends on another. Here, we present the modern view of a function as an assignment between two sets—the domain and the codomain—in which every element of the domain is assigned to exactly one element of the codomain. We discuss graphs of functions, properties and operations of functions, function composition, transformations, and inverse functions. To engage meaningfully with these topics, we need some familiarity with a basic toolkit of functions, each of which is investigated further in its respective module.