I'm currently struggling with the following problem: let $X$ be a path-connected CW complex, and consider $Hom(\pi_1(X), \mathbb Z)$; is every element of this group induced by some map $f:X\to S^1$?
I've though about it and in the end googled around, and apparently the answer is yes, one possible way of seeing it being the fact that $S^1$ possesses a contractible covering space: I just don't see why.
One possible way of approaching the problem is saying that $\pi_1(X)$ is the quotient of $\mathbb Z *\dots *\mathbb Z$ by the (subgroups generated by) the paths running along the boundaries of the included 1-cells. I thought I could get a handle on generators of $\pi_1(X)$ this way, but I still don't see where my map could be coming from.
The other idea is of course using the CW structure explicitly, this time by defining the map skeleton by skeleton. This is in principle maybe reasonable, but I'm kind of stuck with the idea of needing to assign to every point in $X$ a point in $S^1$, whereas all that I'm given is an assigment of (equivalence classes of) loops to other loops.
Any hint on where to start?
Here's an overkill approach related to your second paragraph. The space $S^1$ has a contractible open cover, namely $\mathbb{R} \to S^1$, $t \mapsto e^{it}$. This means that $S^1$ is an Eilenberg–MacLane space of type $K(G,1)$, where $G = \pi_1(S^1) \cong \mathbb{Z}$. By the representability theorem, $H^1(-;\mathbb{Z})$ is represented by $K(\mathbb{Z},1)$, in other words there is a natural isomorphism (where $X$ is a based space): $$H^1(X;\mathbb{Z}) \cong [X,S^1]_*$$ (where $[X,Y]_*$ is the set of homotopy classes of based maps $X \to Y$ sending the base point to the base point).
But by the universal coefficient theorem, $$H^1(X;\mathbb{Z}) \cong \hom(H_1(X), \mathbb{Z}) \oplus \operatorname{Ext}^1_{\mathbb{Z}}(H_0(X), \mathbb{Z}).$$ But of course $H_0(X)$ is a free abelian group (generated by the path-connected components of $X$), so $\operatorname{Ext}^1_{\mathbb{Z}}(H_0(X), \mathbb{Z}) = 0$. Moreover, the Hurewicz theorem says $H_1(X) \cong \pi_1(X)^{ab}$; since $\mathbb{Z}$ is abelian, $\hom(G^{ab}, \mathbb{Z}) \cong \hom(G,\mathbb{Z})$ for all groups $\mathbb{Z}$. Finally, combining both isomorphisms: $$[X,S^1]_* \cong H^1(X;\mathbb{Z}) \cong \hom(\pi_1(X), \mathbb{Z}).$$ And if one follows through all the theorems written above, one sees that a homotopy class $[f] \in [X,S^1]_*$ is exactly sent to $f_* \in \hom(\pi_1(X), \mathbb{Z})$.