Os problemas são descrições de tarefas que podem ser automatizadas. Geralmente cobrem um vasto leque de áreas de aplicação, centrando-se a sua descrição nos requisitos de utilizador.
Não será de esperar que a resolução de um problema se reduza à escrita de um algoritmo de ordenação, mas é razoável que envolva uma fase de ordenação, por exemplo para apresentação dos resultados ordenados.
Os problemas variam em grau de dificuldade, desde os simples aos que podem constituir um autêntico desafio, como se pode constatar nos conjuntos de problemas das últimas edições.