No contexto educacional atual, onde a maioria dos educadores utiliza listas de exercícios extraclasses para fortalecer o aprendizado, a necessidade de criar materiais que atendam ao nível de compreensão de todos os alunos é evidente. Esse desafio se estende ao ensino de programação, onde o aprendizado inicial não é simples e a taxa de reprovação e evasão são altas. Assim, este trabalho propõe uma investigação do potencial uso de técnicas de aprendizado de máquina, especificamente abordagens não supervisionadas, em conjunto com técnicas de processamento de linguagem natural (PLN) para agrupar diferentes exercícios de programação. Particularmente, as questões são agrupadas em (clusters) com base em tópicos específicos, permitindo encontrar, com maior facilidade, exercícios que atendam às necessidades dos alunos. Os resultados demonstram o potencial desta abordagem para tornar a criação de listas de exercícios de programação mais rápida e eficaz.