Data Types and Abstraction
Data type: set of values, operations that use the values, operations that produce the values
Abstraction: how to use something is known, but how it is implemented is not
Functions are an abstraction mechanism square root, integration, ...