Rules for tensor products If we have a system made out of two subsystems A and B and each has its own basis {$|n\rangle_A$} and {$|m\rangle_B$}.
A state of the total system is $|\Psi_{AB}\rangle = |\Psi_{A}\rangle \otimes|\Psi_{B}\rangle$ where:
$|\Psi_{A}\rangle=\sum_n c_n|n\rangle_A$ and $|\Psi_{B}\rangle=\sum_m c_m|m\rangle_B$.
Then I can re-write the total state of the joint system in the following way:
$|\Psi_{AB}\rangle = |\Psi_{A}\rangle \otimes|\Psi_{B}\rangle = \sum_n c_n|n\rangle_A \otimes \sum_m c_m|m\rangle_B$
Now, I am trying to calculate the partial trace of the subsystem A.
Then I do:
$\rho_A =\mathrm{Tr}_B(\rho_{AB})$
$\rho_A =\mathrm{Tr}_B(|\Psi\rangle_{AB}\langle\Psi|)$
$\rho_A =\mathrm{Tr}_B([|\Psi_{A}\rangle \otimes|\Psi_{B}\rangle][\langle \Psi_{A}|\otimes \langle \Psi_{B}|])$
$\rho_A =\mathrm{Tr}_B\left[\left(\sum_n c_n|n\rangle_A \otimes \sum_m c_m|m\rangle_B\right)\left(\sum_k c_k^*\langle k|_A \otimes \sum_p c_p^*|\langle p|_B\right)\right]$.
Here I simply re-named the basis of the subsystems A and B into {$|k\rangle_A$} and {$|p\rangle_B$}.
This is where I stop. I don't know the rules of multiplication when Tensor product is involved. Can someone help me out with the last expression. The end result is supposed to be $|\Psi\rangle_A\langle\Psi|_A$.
 A: It is easiest if you (legally) rearrange your density operator to the form
$$\rho_{AB}=|\Psi_A\rangle\langle\Psi_A|\otimes |\Psi_B\rangle\langle\Psi_B|.$$ Then the partial trace becomes
$$\mathrm{Tr}_B\left(\rho_{AB}\right)=|\Psi_A\rangle\langle\Psi_A|\otimes\mathrm{Tr}\left( |\Psi_B\rangle\langle\Psi_B|\right)=|\Psi_A\rangle\langle\Psi_A|\otimes 1=|\Psi_A\rangle\langle\Psi_A|\times1=|\Psi_A\rangle\langle\Psi_A|.$$ The key here is that a tensor product with a scalar becomes a scalar product (i.e., here "$1$" is just a number).

Okay, so what are the allowed operations and what is forbidden? Most things are possible if we properly keep track of the subsystems, which is why I would recommend labeling the kets by their subsystems, not just the names of the states. So, for example, I'd write
$$|\Psi_{AB}\rangle_{AB}=|\Psi_{A}\rangle_{A}\otimes |\Psi_{B}\rangle_{B}.$$ The subscript inside of the ket tells us which state the subsystem is in, while the subscript outside of the ket tells us the Hilbert space. So we could just have easily have written
$$|\psi\rangle_{AB}=|\phi\rangle_{A}\otimes |\varphi\rangle_{B},$$ where the labels on the kets still tell us to which Hilbert space each state belongs and the labels inside of the kets tell us the particular state that is in each subspace.
Everything else is label matching! There is no difference between any of the following, so long as we keep track of the labels:
\begin{aligned}\rho_{AB}&=\left(|\phi\rangle_{A}\otimes |\varphi\rangle_{B} \right)\left(\,_{A}\langle\phi|\otimes \,_B\langle\varphi|\right)\\
&=\left(|\phi\rangle_{A}\otimes |\varphi\rangle_{B} \right)\left(\,_B\langle\varphi|\otimes\,_{A}\langle\phi|\right)\\
&=|\phi\rangle_{A}\,_{A}\langle\phi|\otimes |\varphi\rangle_{B} \,_B\langle\varphi|\\
&=|\varphi\rangle_{B} \,_B\langle\varphi|\otimes|\phi\rangle_{A}\,_{A}\langle\phi|.
\end{aligned} Yes, some notation conventions are much more useful than others, but the principle of keeping track of subspaces is what's most important.
Now, what about operations on states? This can get a little frustrating with the labels on operators, which we'll get to in a bit, but we can do traces first. First, a full trace means that we sum over a complete basis:
\begin{aligned}
\mathrm{Tr}\left(\rho_{AB}\right)&=\sum_{m,n}\left(\,_A\langle m|\otimes \,_B\langle n| \right)\rho_{AB}\left(|m\rangle_A\otimes |n\rangle_B\right)\\
&=\sum_{m,n}\left(\,_A\langle m|\otimes \,_B\langle n| \right)\rho_{AB}\left(|n\rangle_B\otimes |m\rangle_A\right).
\end{aligned} Here, since the states $|m\rangle_A$ are a complete basis for Hilbert space $\mathcal{H}_A$ and the states $|n\rangle_B$ are a complete basis for Hilbert space $\mathcal{H}_B$, the states $|m\rangle_A\otimes |n\rangle_B=|n\rangle_B\otimes |m\rangle_A$ are a complete basis for Hilbert space $\mathcal{H}_{AB}=\mathcal{H}_A\otimes \mathcal{H}_B$. Obviously things are easier to keep track of if we always keep things in the same order with $B$ following $A$, but the labels will save us from any mistakes. To do the full trace, we match the labels, find scalars, then use regular multiplication for the scalars, then, finally, we drop the subscripts when they become obvious because everything has been matched:
\begin{aligned}
\mathrm{Tr}\left(\rho_{AB}\right)&=\sum_{m,n}\left(\,_A\langle m|\otimes \,_B\langle n| \right)\rho_{AB}\left(|m\rangle_A\otimes |n\rangle_B\right)\\
&=\sum_{m,n}\left(\,_A\langle m|\otimes \,_B\langle n| \right)\left(|\phi\rangle_{A}\otimes |\varphi\rangle_{B} \right)\left(\,_{A}\langle\phi|\otimes \,_B\langle\varphi|\right)\left(|m\rangle_A\otimes |n\rangle_B\right)\\
&=\sum_{m,n}\left(\,_A\langle m||\phi\rangle_{A}\otimes \,_B\langle n||\varphi\rangle_{B} \right)\left(\,_{A}\langle\phi||m\rangle_A\otimes \,_B\langle\varphi| |n\rangle_B\right)\\
&=\sum_{m,n}\,_A\langle m|\phi\rangle_{A}\times \,_B\langle n|\varphi\rangle_{B} \times \,_{A}\langle\phi|m\rangle_A\times \,_B\langle\varphi |n\rangle_B\\
&=\sum_{m,n}\langle m|\phi\rangle\times \langle n|\varphi\rangle \times \langle\phi|m\rangle\times \langle\varphi |n\rangle.
\end{aligned} The neat thing is that you could have used any of the permutations that I wrote down and everything would still have matched up to give this nice result (the easiest way, as already mentioned, is to write $\rho_{AB}=|\phi\rangle_A\langle\phi|\otimes|\varphi\rangle_B\langle\varphi|$ from the get-go).
So the same holds for partial traces: now, we only sum over the basis states of $\mathcal{H}_B$. By matching, there is nothing to fear:
\begin{aligned}
\mathrm{Tr}_B\left(\rho_{AB}\right)&=\sum_n \,_B\langle n|\rho_{AB}|n\rangle_B\\
&=\sum_n \,_B\langle n|\left(|\phi\rangle_A\,_A\langle\phi|\otimes|\varphi\rangle_B\,_B\langle\varphi|\right)|n\rangle_B\\
&=\sum_n |\phi\rangle_A\,_A\langle\phi|\otimes\,_B\langle n|\left(|\varphi\rangle_B\,_B\langle\varphi|\right)|n\rangle_B\\
&=\sum_n |\phi\rangle_A\,_A\langle\phi|\otimes c_n c_n^*
\\
&= |\phi\rangle_A\,_A\langle\phi|\times\sum_n\left|c_n\right|^2\\
&=|\phi\rangle_A\,_A\langle\phi|.
\end{aligned} The final equality follows because the coefficients of the state in Hilbert space $B$ are normalized. Of note, you should avoid using the same letters $c_m$ and $c_n$ for the coefficients of different states, because then it might seem that the value $c_1$, for example, will be the same for both states when it does not have to be. I like to use elucidative labels like $$|\phi\rangle_A=\sum_m \phi_A |m\rangle_A\qquad |\varphi\rangle_B=\sum_n \varphi_A|n\rangle_B.$$ Again, any notation will work so long as the correct matching process is done; the labels are good way to get started.
Finally, what about other operators acting on states? This is where notation can get more sloppy. If I write an operator as $U_A\otimes V_B$, I probably mean that operator $U$ acts on Hilbert space $\mathcal{H}_A$ and operator $V$ acts on Hilbert space $B$, where we do not need to have $U=V$. Often, though, people will write such operators as $U_A\otimes U_B$, where somehow we are supposed to understand that operator $U_A$ acts on $\mathcal{H}_A$ and $U_B$ acts on $\mathcal{H}_B$, with different values $U_A\neq U_B$. This means that the subscript is labeling both the operator itself and the space on which the operator acts. I'd recommend starting out with labeling these things separately and explicitly, such as through $U^{(A)}\otimes V^{(B)}$ or $U_A^{(A)}\otimes U_B^{(B)}$, but this could be overkill if you get the point. As long as you know on which space each part of the operator acts and you make sure that you match it up with the proper bras and kets, you'll be off to the races in no time!

Explicitly continuing your calculation in what I think is the most economical manner, but I'll label the second state with coefficients $d$ ($|\Psi_B\rangle=\sum_n d_n|n\rangle$):
\begin{aligned}
&\mathrm{Tr}_B\left[\left(\sum_n c_n|n\rangle_A \otimes \sum_m d_m|m\rangle_B\right)\left(\sum_kc _k^*\langle k|_A \otimes \sum_p d_p^*|\langle p|_B\right)\right]\\
&\qquad=
\sum_q\,_B\langle q|
\left[\left(\sum_n c_n|n\rangle_A \otimes \sum_m d_m|m\rangle_B\right)\left(\sum_kc _k^*\langle k|_A \otimes \sum_p d_p^*|\langle p|_B\right)\right]
|q\rangle_B\\
&\qquad=
\sum_q
\left[\left(\sum_n c_n|n\rangle_A \otimes \sum_m d_m\,_B\langle q||m\rangle_B\right)\left(\sum_kc _k^*\langle k|_A \otimes \sum_p d_p^*|\langle p|_B|q\rangle_B\right)\right]\\
&\qquad=
\sum_q
\left[\left(\sum_n c_n|n\rangle_A \times \sum_m d_m\delta_{q,m}\right)\left(\sum_kc _k^*\langle k|_A \times \sum_p d_p^*\delta_{p,q}\right)\right]\\
&\qquad=
\sum_q
\left[\left(\sum_n c_n|n\rangle_A \times  d_q\right)\left(\sum_kc _k^*\langle k|_A \times d_q^*\right)\right]\\
&\qquad=
\sum_q \left|d_q\right|^2
\left[|\Psi_A\rangle\langle\Psi_A|\right]\\
&\qquad=|\Psi_A\rangle\langle\Psi_A|.
\end{aligned}
