cellular homology
If a space is assembled cell by cell — points, then arcs glued at their ends, then disks glued along their rims, and so on (a CW complex) — then its homology should be computable from just the cells and the way each is attached. Cellular homology delivers exactly that: a chain complex with one generator per cell, far smaller than the singular complex, that computes the same homology groups.
The cellular chain complex C_n^{CW} is the free abelian group on the n-cells of X. Its boundary map is the cellular boundary, computed by degrees: the coefficient of an (n-1)-cell e' in the boundary of an n-cell e is the degree of the map S^{n-1} -> S^{n-1} obtained by attaching e along its boundary sphere, then collapsing everything except e'. These integers are recorded in the incidence matrices. One proves, via the long exact sequences of the skeletal filtration and excision, that d squared = 0 and that the resulting homology H_n(C^{CW}) is naturally isomorphic to the singular homology H_n(X).
The practical power is dramatic. For a CW complex with finitely many cells, the chain groups are finitely generated and the boundary maps are explicit integer matrices, so homology reduces to Smith normal form by hand or by machine. When the cells are spread across dimensions so that no two cells of adjacent dimension share a boundary degree, all boundary maps vanish and the homology is simply free abelian on the cells — this is why complex projective space CP^n, with one cell in each even dimension, has H_{2k} = Z and all odd homology zero.
The honest fine print: cellular homology requires a CW structure, and the answer is independent of which CW structure you pick (that is the content of the agreement with singular homology). The degree computation can be genuinely subtle — orientations and signs in the attaching maps must be tracked carefully, and a careless sign turns a correct incidence number into a wrong one. The method computes integral homology including torsion, unlike de Rham cohomology which is blind to torsion.
Real projective plane RP^2 has a CW structure with one cell in each of dimensions 0, 1, 2. The cellular boundary from the 2-cell to the 1-cell is multiplication by 2 (the attaching map wraps the boundary circle twice). So H_0 = Z, H_1 = Z/2Z, H_2 = 0 — the torsion in H_1 is the boundary degree 2 made manifest.
RP^2 from three cells: the boundary degree 2 produces the torsion Z/2 in H_1.
Cellular homology computes integral homology including torsion, but you must track the attaching-map degrees and their signs correctly — a sign error there silently corrupts the boundary matrices. It requires a CW structure; not every space has one.