Cohomology is a strongly related concept to homology, it is a contravariant in the sense of a branch of mathematics known as category theory. In homology theory we study the relationship between mappings going down in dimension from n-dimensional structure to its (n-1)-dimensional border. However, in cohomology the maps are reversed, and instead of chain groups we study groups of mappings from those groups.
Although this description may imply that somehow cohomology theory is no more or less powerful than homology theory, this impression would be wrong, as it turns out that the cohomology of a space is often more powerful. Further knowing the homology of a space gives us the cohomology and the cohomology greatly restricts what homology a space can have.
Hom(A,B) and Categorical Duals
This construction is at the core of category theory which has been successful in acting as a foundational theory for large parts of algebraic topology. For now what we need is the idea that the dual of a group is and
In homology theory we used the chain complex
to form our homology groups . Using that as our inspiration, we form
where for a given group G. Our cochain complex is as follows
To find our cohomology groups note that this is relative to our chosen group so for a given method we have to choose appropriately.