  In this article, we propose two algorithms for determining the
Nielsen-Thurston classification of a mapping class $\psi$ on a surface $S$. We
start with a finite generating set $X$ for the mapping class group and a word
$\psi$ in $\langle X \rangle$. We show that if $\psi$ represents a reducible
mapping class in $\Mod(S)$ then $\psi$ admits a canonical reduction system
whose total length is exponential in the word length of $\psi$. We use this
fact to find the canonical reduction system of $\psi$. We also prove an
effective conjugacy separability result for $\pi_1(S)$ which allows us to lift
the action of $\psi$ to a finite cover $\yt{S}$ of $S$ whose degree depends
computably on the word length of $\psi$, and to use the homology action of
$\psi$ on $H_1(\yt{S},\mathbb{C})$ to determine the Nielsen-Thurston
classification of $\psi$.
