A singular n-simplex in a topological space X is any continuous map sigma : Delta^n -> X from the standard n-simplex into X. Unlike simplicial complexes, there is no requirement that sigma be injective or respect any combinatorial structure — it can crumple, fold, or wrap the simplex around X in any continuous way. The singular chain group C_n(X) is the free abelian group on ALL singular n-simplices, and the boundary operator uses the same alternating-face formula as simplicial homology. This gives a chain complex that works for any topological space, not just triangulable ones.
The central idea of singular homology is to probe a topological space X by mapping standard simplices into it and studying the algebraic structure of these maps. A singular n-simplex in X is a continuous map sigma : Delta^n -> X, where Delta^n is the standard n-simplex in R^{n+1} (the convex hull of the standard basis vectors). There are no constraints on sigma beyond continuity: it need not be injective (it can collapse the simplex to a lower-dimensional image), it need not be a homeomorphism onto its image, and it need not interact with any pre-existing structure on X. Every continuous map from a standard simplex qualifies. This complete lack of constraints is what gives singular homology its universality.
The singular chain group C_n(X) is the free abelian group generated by all singular n-simplices in X. A singular n-chain is a finite formal integer combination of singular n-simplices: c = sum a_i sigma_i. Despite the fact that the generating set (all continuous maps Delta^n -> X) is typically enormous — uncountably infinite even for the simplest nontrivial spaces — the chain group is well-defined as a free abelian group, and chains are always finite combinations. The vast majority of singular simplices are "junk" (degenerate maps, maps that differ by negligible wiggles) that will be quotiented away when we pass to homology.
The boundary operator d_n : C_n(X) -> C_{n-1}(X) is defined by composing each singular n-simplex with the face inclusions. The i-th face inclusion F_i : Delta^{n-1} -> Delta^n maps to the face opposite the i-th vertex: F_i(v_0, ..., v_{n-1}) = (v_0, ..., v_{i-1}, 0, v_i, ..., v_{n-1}) where 0 is inserted in the i-th coordinate. Then d_n(sigma) = sum_{i=0}^{n} (-1)^i (sigma compose F_i). Each term sigma compose F_i is a singular (n-1)-simplex (the restriction of sigma to the i-th face of Delta^n). This is formally identical to the simplicial boundary formula, and the proof that d_{n-1} compose d_n = 0 is the same combinatorial argument. Thus the singular chains form a genuine chain complex, and singular homology H_n(X) = ker(d_n)/im(d_{n+1}) is well-defined.
The passage from simplicial to singular homology is a paradigm shift. Simplicial homology requires a triangulation and works only for spaces that can be triangulated. Singular homology works for any topological space — a fractal, a space-filling curve, an infinite-dimensional function space — because it only requires the notion of continuous map. Furthermore, singular homology is transparently functorial: a continuous map f : X -> Y induces chain maps f_# : C_n(X) -> C_n(Y) by composition (f_#(sigma) = f compose sigma), and these chain maps descend to homomorphisms f_* : H_n(X) -> H_n(Y) on homology. This functoriality is built into the definition from the start, whereas for simplicial homology it requires work (simplicial approximation). The trade-off is computability: we almost never compute singular homology directly, instead using theoretical tools (exact sequences, excision, homotopy invariance) to reduce to known cases.