The document discusses functions in computer programming. It defines functions as subprograms that allow code to be reused and tested in isolation. There are three main parts to a function: the definition, which specifies the return type, name, parameters and body; the declaration, which specifies the return type, name and parameters; and the call, which invokes the function. Functions can be categorized based on whether they have arguments and/or return values. Arrays can also be passed as arguments to functions.