Solution (source code)

= Solution

Let $\mathcal C_{\mathrm{fg}}$ be the <Serre class of finitely generated abelian groups>. A homomorphism is an isomorphism modulo this class when its kernel and cokernel are finitely generated. The <Hurewicz theorem modulo a Serre class> says that, for a <simply connected> space and $r\geq2$, if $\pi_i(X)\in\mathcal C_{\mathrm{fg}}$ for $2\leq i<r$, then
$$
\boxed{H_i(X;\mathbb Z)\in\mathcal C_{\mathrm{fg}}\ (0<i<r),
\qquad
\pi_r(X)\xrightarrow{h_r}H_r(X;\mathbb Z)
\text{ is an isomorphism modulo }\mathcal C_{\mathrm{fg}}.}
$$
The corresponding lower-dimensional <homology> condition is equivalent to the lower <homotopy> condition. In particular, degreewise finite generation of integral <homology> and <homotopy> are equivalent for <simply connected> spaces. The <Serre class> is closed under subgroups, quotients and extensions; these closure properties are what make the modulo-class formulation useful.

Here is the consequence needed for construction. Inductively, if the lower <homotopy groups> are finitely generated, the theorem gives a finitely generated kernel for $h_r$. Its image is a subgroup of the finitely generated $H_r(X)$, so the image is also finitely generated. The resulting extension proves $\pi_r(X)$ finitely generated. Starting with the ordinary isomorphism $\pi_2(X)\cong H_2(X)$ yields this for every positive degree.

We now construct a <finite type CW approximation>. Choose finitely many maps $S^2\to X$ generating $\pi_2(X)$, and let $C_2$ be their wedge. The resulting map $C_2\to X$ is $2$-connected: it is an isomorphism below degree two and a surjection in degree two. In general, call a map $r$-connected when its mapping-cylinder pair has relative <homotopy groups> zero through degree $r$.

Suppose $f_r:C_r\to X$ is $r$-connected and $C_r$ is a finite <simply connected> <CW complex> of dimension at most $r$. The <homotopy groups> of $C_r$ are finitely generated by the same modulo-class theorem, since a finite <CW complex> has finitely generated <homology>. The <long exact sequence of relative homotopy groups> shows that
$$
\pi_{r+1}(X,C_r)
$$
is finitely generated: it lies between a quotient of $\pi_{r+1}(X)$ and a subgroup of $\pi_r(C_r)$. Relative groups here refer to the <mapping cylinder> of $f_r$.

Represent a finite set of generators by relative disks. Attach their boundary spheres to $C_r$, and extend the map over the disks by their chosen maps into $X$. This adds finitely many $(r+1)$-cells and kills the relative group in that dimension without changing lower relative groups. The new map $C_{r+1}\to X$ is $(r+1)$-connected. Iterating gives
$$
C=\bigcup_{r\geq2}C_r,\qquad f:C\to X.
$$
There are finitely many cells of each dimension. Every fixed <homotopy> degree stabilizes to an isomorphism once sufficiently high-dimensional cells have been added, so \b[this is the required weak equivalence]:
$$
\boxed{f:C\xrightarrow{\ \simeq_{\mathrm w}\ }X,
\qquad C\text{ has finitely many cells in each dimension}.}
$$

For the bounded-homology assertion, assume first $n\geq2$ and take the finite $n$-dimensional $C_n$ just constructed. The <Relative Hurewicz theorem> for its $n$-connected map gives
$$
\pi_{n+1}(X,C_n)\cong H_{n+1}(X,C_n).
$$
The relative <homology> sequence and $H_{n+1}(X)=0$ identify the latter with
$$
K=\ker\bigl(H_n(C_n)\to H_n(X)\bigr).
$$
Because $C_n$ is $n$-dimensional, $H_n(C_n)$ is a subgroup of its free cellular $n$-chain group. It is finite free, and so is $K$.

Choose a basis of $K$, lift it using the <Relative Hurewicz theorem>, and attach exactly those finitely many $(n+1)$-cells to $C_n$. Denote the resulting complex by $C'$. Its new cellular boundary has image $K$ and is injective: the selected cycles are linearly independent in $H_n(C_n)$, and there are no old $(n+1)$-boundaries. Thus
$$
H_{n+1}(C')=0,\qquad
H_n(C')\cong H_n(C_n)/K\cong H_n(X).
$$
Lower <homology> remains unchanged, and all higher <homology> is zero on both sides. The map $C'\to X$ is an integral <homology> isomorphism between <simply connected> spaces. The <homological Whitehead theorem> consequently makes it a <weak homotopy equivalence>. Hence \b[the <finite CW approximation from bounded homology> has]
$$
\boxed{C'\text{ finite},\qquad\dim C'\leq n+1,\qquad
C'\xrightarrow{\ \simeq_{\mathrm w}\ }X.}
$$
If $n=0$ or $1$, simple connectivity and the <homology> hypothesis make all reduced <homology> zero. The <Hurewicz theorem>, applied at the first possible nonzero <homotopy> degree, shows that $X$ is weakly contractible, so a point suffices. If the wording requires dimension exactly $n+1$ rather than at most $n+1$, add a contractible cancelling pair of $n$- and $(n+1)$-cells, mapping constantly to the basepoint. This does not change the weak <homotopy> type.