Objetivos: Criar condições para que o aluno de computação desenvolva suas habilidades de resolução de problemas computacionais. O ambiente é semelhante aos concursos de programação ACM International Collegiate Programming Contest e Maratona de Programação. Os problemas de programação dessas competições são uma excelente oportunidade para aprender técnicas de criação e análise de algoritmo. Programa: A disciplina tem caráter de laboratório, com intensa atividade de programação. Os programas criados pelos alunos são submetidos a "juízes eletrônicos" como os do Programming Challenges (http://www.programming-challenges.com) e do Valladolid Programming Contest Site (http://acm.uva.es). Os problemas de programação cobrem os seguintes tópicos: estruturas de dados, ordenação, aritmética, álgebra, combinatória, teoria dos números, backtracking, grafos, programação dinâmica, geometria.