Cohesion in Computer Programming refers to the level of strength and unity with which different components of a software program are inter-related with each other. Cohesion measures the strength of relationship between pieces of functionality within a given module. Cohesion of any software determines the strength of its source code, and can be further comprehended through exploring its associative principles, types, and calculating methods. It is often contrasted with coupling, a different concept. It is introduced to capture the ‘quality’, ‘conciseness’ and ‘effectiveness’ features of a program into software engineering domain.