Familiarizar o aluno com diferentes técnicas de desenvolvimento de programas corretos e bem estruturados, com o estudo de ferramentas matemáticas úteis para a análise de algoritmos e com a análise da complexidade assintótica de algoritmos.