Jordan canonical forms determined by a minimal polynomial Find the Jordan canonical forms of all $9\times 9$ matrices over $\mathbb{C}$ with minimal polynomial $x^2(x-3)^3$.
My method: each factor of the minimal polynomial corresponds to a type of Jordan blocks with their maximal orders equal to the multiplicity of the factor. Hence all possible Jordan blocks are (List A)
\begin{bmatrix} 0 \end{bmatrix}
\begin{bmatrix} 0 & 1  \\ 0 & 0 \end{bmatrix}
\begin{bmatrix} 3  \end{bmatrix}
\begin{bmatrix}3 & 1 \\ 0 & 3  \end{bmatrix}
\begin{bmatrix} 3 & 1 & 0 \\ 0 & 3 & 1 \\0 & 0 & 3 \end{bmatrix}
Hence all possible matrices are 
\begin{bmatrix} 0 & 1 & &&&&&& \\ 0 & 0 &&&&&&&\\&&3 & 1 & 0 &&&&\\ &&0 & 3 & 1 &&&&\\&&0 & 0 & 3  &&&&\\ &&&&&B&&&\end{bmatrix}
where $B$ are $4\times 4$ matrices chosen arbitrarily as a combination of all possible blocks listed in List A:
\begin{bmatrix} 0 &&& \\ &0&&\\&&0&\\&&&0\end{bmatrix}
\begin{bmatrix} 0 &&& \\ &0&&\\&&0&\\&&&3\end{bmatrix}
\begin{bmatrix} 0 &&& \\ &0&&\\&&3&\\&&&3\end{bmatrix}
\begin{bmatrix} 0 &&& \\ &3&&\\&&3&\\&&&3\end{bmatrix}
\begin{bmatrix} 3 &&& \\ &3&&\\&&3&\\&&&3\end{bmatrix}
\begin{bmatrix} 0 &&& \\ &3 & 1 & 0 \\ &0 & 3 & 1 \\&0 & 0 & 3 \end{bmatrix}
\begin{bmatrix} 3&&& \\ &3 & 1 & 0 \\ &0 & 3 & 1 \\&0 & 0 & 3 \end{bmatrix}
\begin{bmatrix} 0 &1&& \\ &0 &  &  \\ & &0 &  \\& &  &0  \end{bmatrix}
\begin{bmatrix} 0 &1&& \\ &0 &  &  \\ & &0 &  \\& &  &3  \end{bmatrix}
\begin{bmatrix} 0 &1&& \\ &0 &  &  \\ & &3 &  \\& &  &3  \end{bmatrix}
\begin{bmatrix} 0 &1&& \\ &0 &  &  \\ & &3 & 1  \\& &  &3  \end{bmatrix}
\begin{bmatrix} 0 &&& \\ &0 &  &  \\ & &3 & 1  \\& &  &3  \end{bmatrix}
\begin{bmatrix} 0 &&& \\ &3 &  &  \\ & &3 & 1  \\& &  &3  \end{bmatrix}
\begin{bmatrix} 3 &&& \\ &3 &  &  \\ & &3 & 1  \\& &  &3  \end{bmatrix}
\begin{bmatrix} 3 &1&& \\ &3 &  &  \\ & &3 & 1  \\& &  &3  \end{bmatrix}
\begin{bmatrix} 0 &1&& \\ &0 &  &  \\ & &0 & 1  \\& &  &0  \end{bmatrix}.
However, some classmates said I need to consider the primary factor and invariant factor thus cut off some of the possibilities. I am quite confused...

You are correct except that without a convention about how blocks are ordered, you need to count permutations of blocks for each of your sixteen matrices. I count 892.  Following is my work where each row in the table represents one of your matrices, and the number under a block is the frequency of that block in the matrix.
\begin{array}{cccccrl}
\begin{bmatrix} 3 & 1 & 0 \\ 0 & 3 & 1 \\ 0 & 0 & 3 \end{bmatrix} &
\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix} &
\begin{bmatrix} 3 & 1 \\ 0 & 3 \end{bmatrix} &
\begin{bmatrix} 3 \end{bmatrix} &
\begin{bmatrix} 0 \end{bmatrix} & \mbox{permutations} \\ \hline
1 & 1 &   &   & 4 & 6!/4!    =  30 \\
1 & 1 &   & 1 & 3 & 6!/3!    = 120 \\
1 & 1 &   & 2 & 2 & 6!/2!/2! = 180 \\
1 & 1 &   & 3 & 1 & 6!/3!    = 120 \\
1 & 1 &   & 4 &   & 6!/4!    =  30 \\
2 & 1 &   &   & 1 & 4!/2!    =  12 \\
2 & 1 &   & 1 &   & 4!/2!    =  12 \\
1 & 2 &   &   & 2 & 5!/2!/2! =  30 \\
1 & 2 &   & 1 & 1 & 5!/2!    =  60 \\
1 & 2 &   & 2 &   & 5!/2!/2! =  30 \\
1 & 2 & 1 &   &   & 4!/2!    =  12 \\
1 & 1 & 1 &   & 2 & 5!/2!    =  60 \\
1 & 1 & 1 & 1 & 1 & 5!       = 120 \\
1 & 1 & 1 & 2 &   & 5!/2!    =  60 \\
1 & 1 & 2 &   &   & 4!/2!    =  12 \\
1 & 3 &   &   &   & 4!/3!    =   4 \\ \hline
  &   &   &   &   &            892 & \mbox{total}
\end{array}
