Fixed course validation; the checkpoint order algorithm was totally wrong.