Visit all vertices of a graph
Ignoring the even semester constraints, you can model this as a scheduling problem where classes are jobs of processing time $1$ which have to satisfy precedence constraints and must be processed on a parallel machine that can process at most a fixed number $m$ of jobs at the same time. In standard notation, this problem would be called $Pm\mid\text{prec},p_j=1|C_\text{max}$ and is NP-complete (Ullman, NP-complete scheduling problems, J. Comp. Sys. Sci., 10, 1975).

That said, for the size of problems you may be interested in, an integer programming model can likely be solved to optimality. If you let the semesters be $S=\{1,2,\ldots,s\}$, where $s$ is some upper bound on the number of semesters, $m$ the maximum number of classes you can do every semester, and $\prec$ the predecence relation (i.e. $c\prec c'$ if class $c$ must precede class $c'$) a formulation would be
\begin{align}
\text{minimize } &amp; C_\text{max},\\
\text{subject to } &amp; C_\text{max} \geq s\,x_{cs}, &amp; \forall c,s,\\
&amp; \sum_c  x_{cs} \leq m, &amp; \forall s,\\
&amp; \sum_s x_{cs} = 1, &amp; \forall c,\\
&amp; 1+\sum_s s\,x_{cs} \leq \sum_s s\,x_{c's}, &amp; \forall c\prec c'\\
&amp; x_{cs}\in\{0,1\}, &amp; \forall c,s,
\end{align}
where $x_{cs}=1$ indicates that class $c$ is done in semester $s$. It would be also easy to add even semester restrictions to this model.