I found the following result in a document without proof:
Then I found another document with a proof that I modified to get a proof for the first document's result:

But I think this can be used to prove that $H_k(X)$ is finitely generated for $k>n$ (since $0$ is finitely generated) and for $k=n$, since $H_n(X)=\bigoplus_{c_n} \Bbb Z$ (I used $c_n$ to denote the number of $n$ cells), but not for $k<n$ (is that right?) So I tried doing this to find $H_{n-1}(X)$:
Consider the long exact sequence for $(X^n,X^{n-1})$:
$H_n(X^n, X^{n-1}) \longrightarrow H_{n-1}(X^{n-1}) \longrightarrow^g H_{n-1}(X^n) \longrightarrow H_{n-1}(X^n,X^{n-1})$
The first group is $\bigoplus_{c_n} \Bbb Z$. The second group is $\bigoplus_{c_{n-1}} \Bbb Z$ by (a) and the last gruoup is $0$ because $n-1 \neq n$. So, $g$ is surjective and by the first isomorphism theorem, $H_{n-1}(X)=H_{n-1} (X^n) \simeq \bigoplus_{c_{n-1}} \Bbb Z / \ker g$.
I got stuck here because I don't know that $\ker g$ is. I got the feeling that I'm taking the wrong way...

You don't need to know what $g$ is or what $\ker g$ is. A $\mathbb{Z}$-module $M$ is finitely generated exactly when there is a surjective morphism $\mathbb{Z}^{\oplus n} \to M$. Then $M$ will be generated by the images of $(0,\dots,0,1,0,\dots,0)$.
The idea here is quite simple: the $k$-cells of $X$ generate $H_k(X)$. There may be relations among those cells, some of those cells may be homotopic to $0$, but certainly every $k$-homology class is a sum of $k$-cells and if there are finitely many $k$-cells then it is finitely generated.