the universal coefficient theorem
Once you have computed homology with integer coefficients, you would like to get homology or cohomology with any other coefficients — rationals, a finite field, or any abelian group G — without redoing the whole computation. The universal coefficient theorem is the bridge: it expresses homology and cohomology with coefficients in G purely in terms of the integral homology groups, which is why integral homology is the 'universal' starting point.
There are two halves. For homology with coefficients: H_n(X; G) sits in a short exact sequence 0 -> H_n(X; Z) tensor G -> H_n(X; G) -> Tor(H_{n-1}(X; Z), G) -> 0, where Tor is the torsion product measuring how G interacts with torsion in H_{n-1}. For cohomology: H^n(X; G) sits in 0 -> Ext(H_{n-1}(X; Z), G) -> H^n(X; G) -> Hom(H_n(X; Z), G) -> 0, where Hom is the dual and Ext records the torsion contribution shifted by one degree. Both sequences split (non-canonically), so the middle group is, as an abstract group, the direct sum of the two ends — but the splitting is not natural, a point that matters when you track maps.
The practical use is constant. To get rational cohomology, tensoring with Q kills Tor and Ext (they vanish for the field Q), so H^n(X; Q) is just Hom(H_n(X; Z), Q) — the dual vector space, with dimension equal to the Betti number b_n. To get mod-2 cohomology you use G = Z/2 and the Tor and Ext terms can be nonzero, which is exactly how torsion in integral homology resurfaces as extra classes mod 2.
The honest subtleties: first, the splitting is non-natural, so although H^n(X; G) is abstractly Hom plus Ext, a continuous map need not respect that decomposition — never use the splitting to chase a commuting diagram. Second, the theorem in this clean form needs the coefficient ring to be a principal ideal domain (Z, a field, or Z/p); over a general ring the Tor and Ext terms are replaced by a spectral sequence. And cohomology is genuinely a dual but not simply the dual of homology — the Ext term is the precise correction.
Take RP^2, whose integral homology is H_0 = Z, H_1 = Z/2, H_2 = 0. With Z/2 coefficients the UCT gives H_n(RP^2; Z/2) = Z/2 for n = 0, 1, 2 — the torsion in H_1 produces a class in H_2 via the Tor term. Over Q, by contrast, H_n(RP^2; Q) = Q only for n = 0; the torsion vanishes and the higher rational homology is zero.
RP^2 over Z/2 versus Q: torsion creates an extra mod-2 class but no rational one.
The splitting of the universal coefficient sequence is non-natural, so do not use it to track induced maps; and the clean Tor/Ext form requires the coefficients to lie in a principal ideal domain. Cohomology is the dual of homology only up to the Ext correction term.