Aperfeiçoar a capacidade do aluno em projetar algoritmos para resolver problemas complexos de programação, segundo os diversos paradigmas e categorias  importantes de algoritmos tais como grafos, teoria dos números, teoria dos jogos e strings.