Cohesion refers to how closely related the functions of a module are in achieving a single objective. High cohesion indicates that all functions of a module work together for a common purpose. Coupling refers to the degree of interdependence between modules. High coupling occurs when modules share large amounts of data or interact through shared data. Low coupling means modules do not interact much or only pass small amounts of primitive data.