Finding Chain Homotopy I am reading Hatcher's Algebraic Topology now.The book is very understandable till now.The main problem I am having is when finding a chain homotopy between two chain complexes.It feels like he is coming up with the corresponding maps like magic.I logically understand they work but I have no idea how to reasonably find it out.Is it about trial and error or there is something behind this kind of things that I need to know about.Thank You.
edit:I have reasonable background for a graduate student.
 A: There is, in fact, a magic chain homotopy theorem (that's how I always thought of it) called the Acyclic Models Theorem. You can find versions of it in Spanier's book "Algebraic Topology", and on wikipedia. I believe that Spanier's book actually applies the Acyclic Models Theorem to one or more of the cases listed in your comment.
A: Let me give a somewhat more geometric and conceptual interpretation of chain homotopy. Define the complex $I_\bullet$ to be
$$...\to 0 \to I_1 \to I_0 \to 0 \to \cdots$$
where $I_1 = \mathbb Z e_0e_1$, $I_0 = \mathbb Z e_0 + \mathbb Z e_1$, and the nonzero boundary map is given by $\partial(e_0e_1) = e_1 - e_0$. This is the simplicial complex associated to the interval. Then a chain map $K: C_\bullet \otimes I_\bullet \to D_\bullet$ is the same thing as a pair of maps $K(-,e_i): C_\bullet \to D_\bullet$ as well as a chain homotopy $K(-,e_0e_1): C_\bullet \to D_{\bullet +1}$. 
Geometrically, the tensor product of chain complexes models the product of spaces (see e.g. the Eilenberg-Zilber theorem). This suggests the relationship between maps $X\times [0,1] \to Y$ and chain homotopies on the corresponding complexes for $X$ and $Y$.
Now let’s investigate the prism chain homotopy concretely. Given maps $f_0, f_1: X \to Y$ and a homotopy $H: [0,1]\times X \to Y$ between them, we want to construct a chain homotopy, i.e. a map $K: C_\bullet(X) \otimes I_\bullet \to C_\bullet(Y)$. Our map should have $K(-,e_i) = (f_i)_\ast$. By definition of the tensor product, if we want a chain map, we should assign $K(\sigma, e_0e_1)$ to an object whose boundary is the (signed) sum of $K(\partial \sigma, e_0e_1)$ and $K(\sigma, e_i)$. Starting with $\sigma=p$ a zero-simplex, we will want to assign $K(p, e_0e_1)$ to the singular 1-simplex $H(-,p)$, whose boundary is $f_1(p) - f_0(p)$. Inductively, this suggests defining $K(\sigma, e_0e_1)$ as a prism interpolating $f_1(\sigma)$ and $f_0(\sigma)$, i.e. the prism $H(-,\sigma)$. The usual formula is just triangulating that prism. 
