El algoritmo de programación de cursos es un algoritmo muy complejo y un cálculo exhaustivo no es factible. Los cursos de diferentes clases y diferentes profesores están entrecruzados y es imposible describir exhaustivamente cada combinación. Una escuela con menos de treinta clases suele tener una combinación curricular de un orden de magnitud mayor que el número total de protones en todo el universo.
Pero entre tantas combinaciones de cursos, es factible encontrar una combinación de cursos "relativamente razonable" que cumpla con los requisitos de las escuelas, los profesores y los estudiantes.