Uso de atributos de código para classificação da facilidade de questões de codificação - Lima, Marcos Avner Pimenta de Lima; Carvalho, Leandro Silva Galvão de; Oliveira, Elaine Harada Teixeira de; Oliveira, David Braga Fernandes de; Pereira, Filipe Dwan (Anais do Simpósio Brasileiro de Educação em Computação (EDUCOMP); 2021: Anais do Simpósio Brasileiro de Educação em ComputaçãoDO - 10.5753/educomp.2021.14477, 2021)
No ensino de programação, é comum o uso de Ambientes de Correção Automática de Código (ACACs). Esses apresentam uma alta diversidade de exercícios de programação que requerem que o estudante elabore um código como solução. Contudo, um obstáculo é classificar a facilidade ou dificuldade desses exercícios de modo que sejam apresentados conforme o nível de conhecimento do aluno, ou para que durante uma avaliação formulada por sorteio aleatório de questões, os alunos possam receber exercícios com nível de dificuldade semelhantes. Nesse sentido, este trabalho apresenta um método para classificar automaticamente o grau de facilidade de questões de codificação em Python, usando para isso atributos extraídos de códigos de solução. Foram analisadas 354 questões, agrupadas em 07 conjuntos segundo os tópicos abordados, que foram previamente definidos na ementa de uma disciplina de introdução à programação. Essas questões foram aplicadas em exames presenciais de turmas ministradas entre os anos de 2017 e 2019. Entre os resultados, verificou-se que a facilidade das questões pode ser estimada por meio de atributos do código de solução dos instrutores, com f1-score de 0,94 e acurácia de 0,92. Além disso, o conjunto de atributos relevantes para classificação variou conforme o tópico de programação abordado pelas questões.