-It is a program carrying out a particular function and which be called by another program known as the calling program.
-A subprogram needs to be placed only once in memory and can be called by the main program or other subprogram as many times as the programmer wants.
-Also known by various names as function, subroutine or procedure