How to determine if two morphisms are chain homotopic 
Let $X$ be a path connected topological space, $S_\bullet(X)$ be its chain complex and $x_0 \in X$. Let $f:X \mapsto X$ be the function $f(x) = x_0 \forall x \in X$. Prove that the induced morphism $f^*(x)$ is chain homotopic to $\varepsilon: S_\bullet(X) \mapsto S_\bullet(X)$ where $\varepsilon_i = 0$ for $i>0$ and $\varepsilon_0 = f_0$.

I've just started my course on algebraic topology and I really can't make sense of anything, so I tried this exercise the professor gave us but I'm stuck. By definition, $f^*$ and $\varepsilon$ are chain homotopic $\iff \exists k_i| f^*- \varepsilon = \partial_i \circ k_i + k_{i-1} \circ \partial_{i-1}$, so we need to find $k_i$ such that $\partial_i \circ k_i + k_{i-1} \circ \partial_{i-1} = f^* \ \forall i>1$ and $\partial_1 \circ k_1 + k_0 \circ \partial_0 = 0$. I can't really come up with anything here, I don't really have an intuition for this. I tried to think of this geometrically considering all of the above as functions but it doesn't make sense to me to think of their "sum". Also, in class we discussed a theorem by which if two functions are homotopic then their induced maps are chain homotopic, so I just need to find a map that induces $\varepsilon$ homotopic to $f$ but I can't really think of a map that induces zero, ie I don't really get what the identity element of $S_i(X)$ represents as a function. Does this stuff actually have an interpretation or am I supposed to just pull out an answer from nowhere? Another thing I tried was to use this other theorem we discussed: if $\phi$ and $\psi$ are functorial morphisms of complexes such that $\phi^X_0 = \psi^X_0 \forall X$ topological space then they are chain homotopic, but I don't really understand it (the "functorial" bit) and really have no idea where to put my hands. Any help is appreciated.
 A: Since $f\colon X\to X$ is a constant map $f(x)=x_0$, the description of $f_*\colon S_\bullet(X)\to S_\bullet(X)$ is rather simple. For every $n\ge 0$ let $\tau_n\colon \Delta^n\to X$ denote the constant singular $n$-simplex given by $\tau_n(v)=x_0$ for all $v\in\Delta^n$. Then for an arbitrary singular $n$-simplex $\sigma\colon \Delta^n \to X$ we have
$$
f_*(\sigma) = f\circ\sigma = \tau_n.
$$
Hence, the constituent $f_n\colon S_n(X)\to S_n(X)$ sends every generator of $S_n(X)$ to $\tau_n$. An arbitrary $n$-chain $c\in S_n(X)$ is a formal $\mathbb Z$-linear combination of singular $n$-simplices $c=\sum_{i=1}^k a_i\,\sigma_i$ with $a_i\in\mathbb Z$ and $\sigma_i\colon\Delta^n\to X$ and we obtain
$$
f_n(c) = f_*\left(\sum_{i=1}^k a_i\,\sigma_i\right) = \left(\sum_{i=1}^k a_i\right)\,\tau_n.
$$
Now the chain map $\varepsilon\colon S_\bullet(X)\to S_\bullet(X)$ does the same for $0$-chains, $\varepsilon_0=f_0$, but sends any $n$-chain $c\in S_n(X)$ for $n>0$ to $0\in S_\bullet(X)$. Here $0$ denotes the trivial linear combination of no singular $n$-chains at all.
Now let us consider the equation
$$
f_n - \varepsilon_n = \partial_{n+1} \circ k_{n+1} + k_n \circ \partial_n
$$
for $n>0$ evaluated at a generating singular $n$-simplex $\sigma\in S_n(X)$. On the left hand side we have $\varepsilon_n=0$ so that we get
$$
\underbrace{f_n(\sigma)}_{\tau_n} = \partial_{n+1}(k_{n+1}(\sigma)) + k_n(\partial_n(\sigma)).
$$
On the RHS the only thing we can evaluate without knowing $k$ already is the boundary
$$
\partial_n(\sigma) = \sum_{k=0}^n (-1)^k (\sigma\circ \iota^n_k),
$$
where $\iota^n_k\colon\Delta^{n-1}\to\Delta^n$ is the inclusion of the $k$-th facet of the $n$-simplex.
Now we have to define $k$ in a way such that the above equation is satisfied. Since the LHS involves $\tau_n$ and is independent of $\sigma$ we can anticipate that we might send any singular $n$-simplex $\sigma$ just to some multiple of $\tau_{n+1}$. It turns out that setting $k_{n+1}(\sigma')=(-1)^{n+1} \tau_{n+1}$ for an arbitrary singular $n$-simplex $\sigma'$ with $n>0$ works, since then:
\begin{align*}
\partial_{n+1}(k_{n+1}(\sigma)) + k_n(\partial_n(\sigma))
&= \sum_{k=0}^{n+1} (-1)^k (-1)^{n+1} \underbrace{(\tau_{n+1} \circ \iota^n_k)}_{\tau_n} + \sum_{k=0}^n (-1)^k (-1)^n \tau_n
\\&=\tau_n.
\end{align*}
I'll leave it to you to figure out how to define $k$ on $0$-simplices.
