A program is collection of modules, made of functions, that contain blocks of instructions that operate on variables and data structures.
Modules-: They are basic collection of function shipped in one library.
Functions are well encapsulated functionality. It can be used to set data, calculate/retrieve/validate data, dispatch other functions, perform some functions on the outside world. Functions can be revere-engineered in isolation.