Divide and conquer:
Construct a program from smaller pieces or components.
Each piece more manageable than the original program. Modules: functions and classes.
Programs use new and “prepackaged” modules.
New: programmer-defined functions, classes.
Prepackaged: from the standard library.
Functions invoked by function call:
Function name and information (arguments) it needs.
Only written once.
Hidden from other functions.