Restriction of diagonalizable transformation to invariant subspace is diagonalizable 
Let $V$ be a vector space with $\text{dim}(V)=n$ and $T: V \to V$ be a linear transformation. Let $W \subseteq V$ be a $T$-invariant subspace, i.e. $T(W) \subseteq W$, with $\text{dim}(W)=k$.
Show, that if $T$ is diagonalizable, then there exists a basis for $W$ consisting of eigenvectors of $T$. Show also that $T_W: W \to W, T_W(w):=T(w)$ is diagonalizable.

I found only a proof using the minimal polynomial which I haven't learned yet and couldn't find a proof without it. Can somebody check my attempt below?

Since $T$ is diagonalizable, there exists a Basis $B=\{v_1,\ldots,v_n\}$ for $V$ consisting of eigenvectors of $T$. Also the characteristic polynomial splits in linear factors. If we denote with $\lambda_1,\ldots,\lambda_n$ the corresponding eigenvalues to $v_1,\ldots,v_n$, then $p_T(t)= p_{[T]_B}(t)=(t-\lambda_1) \cdots (t-\lambda_n)$.
Construct from some $w_j \in V$ a basis $C=\{w_1,\ldots,w_k\}$ of $W$ and $T_W:W \to W$ with $T_W(w)=T(w)$. Since $T(W)\subseteq W$, we have $T(w_j)=\sum_{i=1}^k c_iw_i$ for some scalars $c_i$, which means
$$[T_W(w_j)]_{C}=\begin{bmatrix} c_1 \\ \vdots \\ c_k \end{bmatrix}$$
And by definition $[T_W]_C=\begin{bmatrix} [T_W(w_1)]_{C} & \ldots & [T_W(w_k)]_{C} \end{bmatrix}$
We can extend $C$ to a basis of $V$ with additional $v_i$'s (since $B$ is a basis of $V$ already). Assume for the sake of simplicity of notation that it's the first $n-k$ basis vectors, i.e. $B':=C\cup\{v_1,\ldots,v_{n-k}\}$ forms a basis for $V$. Then
$$[T]_{B'} = \begin{bmatrix} \vert & & \vert & \vert & & \vert \\ [T(w_1)]_{B'} & \ldots & [T(w_k)]_{B'} & [T(v_1)]_{B'} & \ldots & [T(v_{n-k})]_{B'} \\ \vert & & \vert & \vert & & \vert \end{bmatrix}$$
But since $T(W)\subseteq W$, we have $T(w_j)=\sum_{i=1}^k c_iw_i$ for some scalars $c_i$, which means
$$[T(w_j)]_{B'}=\begin{bmatrix} c_1 \\ \vdots \\ c_k \\ 0 \\ \vdots \\ 0 \end{bmatrix} = \begin{bmatrix} \vert \\ [T_W(w_j)]_{C} \\ \vert \\ 0 \\ \vdots \\ 0 \end{bmatrix}$$
And $T(v_j)=\lambda_j v_j$ and so $[T(v_j)]_{B'}$ has only a $\lambda_j$ in the $k+j$-th entry and everywhere else zeros. So we get
$$[T]_B = \begin{bmatrix} \ulcorner & & \urcorner & & & \\ & [T_W]_C & & & & \\ \llcorner & & \lrcorner & & & \\ & & & \lambda_1 & & \\ & & & & \ddots & \\ & & & & & \lambda_{n-k} \end{bmatrix}$$
If we compute the characteristic polynomial we get
$$\begin{align} p_{[T]_B}(t) &= (t-\lambda_1) \cdots (t-\lambda_n) = p_{[T]_{B'}}(t) = \text{det}\left([T]_B-tI_n\right) \\&= (-1)^{n-k}(t-\lambda_1) \cdots (t-\lambda_{n-k}) \cdot \text{det}\left([T_W]_C-t I_k\right) \\&= (-1)^{n-k}(t-\lambda_1) \cdots (t-\lambda_{n-k}) \cdot p_{[T_W]_C}(t) \end{align}$$
And so $p_{T_W}(t) = p_{[T_W]_C}(t) = (-1)^{n-k}(t-\lambda_{n-k+1})\cdots(t-\lambda_{n})$, which means $T_W$ has eigenvalues $\lambda_{n-k+1},\ldots,\lambda_n$.
Let $u_{n-k+1},\ldots,u_n \in W$ be the corresponding eigenvectors of $T_W$, i.e. $T_W(u_j)=\lambda_j u_j$. Since for all $w \in W$ we have $T_W(w)=T(w)$, we have $\lambda_j u_j = T_W(u_j) = T(u_j)$ for all $n-k+1 \le j \le n$. But $T(v_j)=\lambda_j v_j$ and therefore $u_j = c v_j$ for some scalar $c$.
We have found $n-(n-k+1)+1 = k$ eigenvalues of $T_W$ which are also eigenvalues of $T$ and the corresponding $k$ eigenvectors of $T_W$ are also exactly eigenvectors of $T$. Since $\text{dim}(W)=k$, we can construct a basis for $W$ of eigenvectors of $T_W$ and therefore $T_W$ is diagonalizable.
 A: If you start with a basis $\{w_1,\dots,w_k\}$ for $W$ and extend it to a basis $\{w_1,\dots,w_k, v_{k+1},\dots,v_n\}$ for $V$, we get the matrix representation
$$[T]=A=\left[\begin{array}{c|c} B & D \\ \hline O & C \end{array}\right]\,.$$
(You are correct that you can actually assume $v_{k+1},\dots,v_n$ are eigenvectors, but that's actually unnecessary.)  Fix an eigenvalue $\lambda$ of $B$. Let $d_A$, $d_B$, and $d_C$ be the respective geometric multiplicities for $\lambda$, and let $m_A$, $m_B$, and $m_C$ be the respective algebraic multiplicities for $\lambda.$ We want to see that $d_B = m_B$.
As you pointed out, $p_A(t) = p_B(t)p_C(t)$, so $m_A=m_B+m_C$. Moreover, since $T$ is diagonalizable, $d_A=m_A$. And, as always, $d_B\le m_B$ and $d_C\le m_C$.
Now $\text{rank}(A-\lambda I) \ge \text{rank}(B-\lambda I)+\text{rank}(C-\lambda I)$ (why?). Since $d_A = n-\text{rank}(A-\lambda I)$, $d_B = k-\text{rank}(B-\lambda I)$ and $d_C = (n-k)-\text{rank}(C-\lambda I)$, we have $d_A\le d_B+d_C$.  But since $d_A=m_A$, we must have $d_B=m_B$ (why?).
