Classificação da Dificuldade de Questões de Programação: Aprofundando o Estudo Exploratório em Juízes Online
Resumo
Os juízes online, para avaliar respostas de questões de programação, produzem dois tipos de feedback: certo ou errado. Assim, elas podem ser modeladas como itens dicotômicos, pois produzem apenas dois estados de avaliação. Este estudo aplica algoritmos de aprendizado de máquina com o objetivo de prever, além dos indicadores de dificuldade já conhecidos, a taxa de acerto e o poder de discriminação de questões de escrita de código no contexto de uma disciplina introdutória de programação. Nos experimentos, os classificadores apresentaram pior desempenho ao discriminar entre três categorias, em comparação a duas. Neste último caso, foi alcançado um f1-score de 0,81 para prever a taxa de acerto e 0,89 para o poder de discriminação.Referências
Barbosa, A. A., Costa, E. B., and Brito, P. H. (2023). Juízes Online são suficientes ou precisamos de um VAR? In Anais do Simpósio Brasileiro de Educação em Computação (EDUCOMP), pages 386–394. Sociedade Brasileira de Computação (SBC).
Fayyad, U., Piatetsky-Shapiro, G., and Smyth, P. (1996). The KDD Process for Extracting Useful Knowledge from Volumes of Data. Communications of the ACM, 39(11):27–34.
Fernandes, J., Carvalho, L., Oliveira, D., Oliveira, E., Pereira, F., and Lauschner, T. (2023). Correlação entre complexidade e dificuldade de questões de programação em juízes online. In Anais do III Simpósio Brasileiro de Educação em Computação, pages 97–107, Porto Alegre, RS, Brasil. SBC.
INEP (2021). Relatório Síntese de Área - Ciência da Computação (Bacharelado/Licenciatura). Technical report, Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira, Brasília, Brasil.
Intisar, C. and Watanobe, Y. (2018). Cluster analysis to estimate the difficulty of programming problems. In Proceedings of the 3rd International Conference on Applications in Information Technology, ICAIT’2018, pages 23–28, New York, NY, USA. Association for Computing Machinery.
Lima, M. A., Carvalho, L. S., Oliveira, E. H., Oliveira, D. B., and Pereira, F. D. (2021). Uso de atributos de código para classificar a dificuldade de questões de programação em juízes online. Revista Brasileira de Informática na Educação, 29:1137–1157.
Liz, A., Souto, O. A., Santos, J. S., Ramos, M., and Melo, A. (2020). Capítulo 8 – teoria de resposta ao item. In Metodologia de Pesquisa Científica em Informática na Educação: Abordagem Quantitativa, page 29. CEIE.
Pasquali, L. and Primi, R. (2003). Fundamentos da teoria da resposta ao item: TRI. Avaliação Psicológica: Interamerican Journal of Psychological Assessment, 2(2):99–110.
Pelanek, R., Effenberger, T., and Cechak, J. (2022). Complexity and difficulty of items in learning systems. International Journal of Artificial Intelligence in Education, 32(1):196–232.
Pereira, F. T. S. S., Bittencourt, R. A., Oliveira, E. H. T., and Fernandes, D. (2025). Um ambiente científico para a análise da qualidade de código. In Anais do V Simpósio Brasileiro de Educação em Computação (EDUCOMP 2025). Sociedade Brasileira de Computação (SBC).
Santos, P., Carvalho, L. S. G., Oliveira, E., and Fernandes, D. (2019). Classificação de dificuldade de questões de programação com base na inteligibilidade do enunciado. In Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação-SBIE), volume 30, pages 1886–1895.
Silva, E. S., Carvalho, L. S., Oliveira, D. B., Oliveira, E. H., Lauschner, T., Lima, M. A., and Pereira, F. D. (2022). Previsão de indicadores de dificuldade de questões de programação a partir de métricas do código de solução. In Anais do XXXIII Simpósio Brasileiro de Informática na Educação, pages 859–870. Sociedade Brasileira de Computação (SBC).
Wang, Z., Zhang, W., and Wang, J. (2024). Estimating difficulty levels of programming problems with pre-trained model. arXiv preprint arXiv:2406.08828.
Wasik, S., Antczak, M., Badura, J., Laskowski, A., and Sternal, T. (2018). A survey on online judge systems and their applications. ACM Comput. Surv., 51(1).
Whalley, J. and Kasto, N. (2014). How difficult are novice code writing tasks?: A software metrics approach. In Proceedings of the Sixteenth Australasian Computing Education Conference, volume 148, pages 105–112. Australian Computer Society, Inc.
Zaffalon, F., Prisco, A., Souza, R., Santos, R., Tonin, N., Bez, J. L., and Botelho, S. (2019). ELO e TRI: Estimando a Habilidade dos Estudantes em uma Plataforma Online de Programação. Revista Novas Tecnologias na Educação (RENOTE), 17(1):11–20.
Zhao, W. X., Zhang, W., He, Y., Xie, X., and Wen, J.-R. (2018). Automatically learning topics and difficulty levels of problems in online judge systems. ACM Trans. Inf. Syst., 36(3).
Zorzo, A. F., Nunes, D., Matos, E. F., Steinmacher, I., Leite, J., Araujo, R. M., Correia, R., and Martins, S. (2017). Referenciais de Formação para os Cursos de Graduação em Computação. Sociedade Brasileira de Computação (SBC).
Fayyad, U., Piatetsky-Shapiro, G., and Smyth, P. (1996). The KDD Process for Extracting Useful Knowledge from Volumes of Data. Communications of the ACM, 39(11):27–34.
Fernandes, J., Carvalho, L., Oliveira, D., Oliveira, E., Pereira, F., and Lauschner, T. (2023). Correlação entre complexidade e dificuldade de questões de programação em juízes online. In Anais do III Simpósio Brasileiro de Educação em Computação, pages 97–107, Porto Alegre, RS, Brasil. SBC.
INEP (2021). Relatório Síntese de Área - Ciência da Computação (Bacharelado/Licenciatura). Technical report, Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira, Brasília, Brasil.
Intisar, C. and Watanobe, Y. (2018). Cluster analysis to estimate the difficulty of programming problems. In Proceedings of the 3rd International Conference on Applications in Information Technology, ICAIT’2018, pages 23–28, New York, NY, USA. Association for Computing Machinery.
Lima, M. A., Carvalho, L. S., Oliveira, E. H., Oliveira, D. B., and Pereira, F. D. (2021). Uso de atributos de código para classificar a dificuldade de questões de programação em juízes online. Revista Brasileira de Informática na Educação, 29:1137–1157.
Liz, A., Souto, O. A., Santos, J. S., Ramos, M., and Melo, A. (2020). Capítulo 8 – teoria de resposta ao item. In Metodologia de Pesquisa Científica em Informática na Educação: Abordagem Quantitativa, page 29. CEIE.
Pasquali, L. and Primi, R. (2003). Fundamentos da teoria da resposta ao item: TRI. Avaliação Psicológica: Interamerican Journal of Psychological Assessment, 2(2):99–110.
Pelanek, R., Effenberger, T., and Cechak, J. (2022). Complexity and difficulty of items in learning systems. International Journal of Artificial Intelligence in Education, 32(1):196–232.
Pereira, F. T. S. S., Bittencourt, R. A., Oliveira, E. H. T., and Fernandes, D. (2025). Um ambiente científico para a análise da qualidade de código. In Anais do V Simpósio Brasileiro de Educação em Computação (EDUCOMP 2025). Sociedade Brasileira de Computação (SBC).
Santos, P., Carvalho, L. S. G., Oliveira, E., and Fernandes, D. (2019). Classificação de dificuldade de questões de programação com base na inteligibilidade do enunciado. In Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação-SBIE), volume 30, pages 1886–1895.
Silva, E. S., Carvalho, L. S., Oliveira, D. B., Oliveira, E. H., Lauschner, T., Lima, M. A., and Pereira, F. D. (2022). Previsão de indicadores de dificuldade de questões de programação a partir de métricas do código de solução. In Anais do XXXIII Simpósio Brasileiro de Informática na Educação, pages 859–870. Sociedade Brasileira de Computação (SBC).
Wang, Z., Zhang, W., and Wang, J. (2024). Estimating difficulty levels of programming problems with pre-trained model. arXiv preprint arXiv:2406.08828.
Wasik, S., Antczak, M., Badura, J., Laskowski, A., and Sternal, T. (2018). A survey on online judge systems and their applications. ACM Comput. Surv., 51(1).
Whalley, J. and Kasto, N. (2014). How difficult are novice code writing tasks?: A software metrics approach. In Proceedings of the Sixteenth Australasian Computing Education Conference, volume 148, pages 105–112. Australian Computer Society, Inc.
Zaffalon, F., Prisco, A., Souza, R., Santos, R., Tonin, N., Bez, J. L., and Botelho, S. (2019). ELO e TRI: Estimando a Habilidade dos Estudantes em uma Plataforma Online de Programação. Revista Novas Tecnologias na Educação (RENOTE), 17(1):11–20.
Zhao, W. X., Zhang, W., He, Y., Xie, X., and Wen, J.-R. (2018). Automatically learning topics and difficulty levels of problems in online judge systems. ACM Trans. Inf. Syst., 36(3).
Zorzo, A. F., Nunes, D., Matos, E. F., Steinmacher, I., Leite, J., Araujo, R. M., Correia, R., and Martins, S. (2017). Referenciais de Formação para os Cursos de Graduação em Computação. Sociedade Brasileira de Computação (SBC).
Publicado
20/07/2025
Como Citar
MELO, Victor Hugo Oliveira de; SANTANA, Thiago Reis; NAKAMURA, Fabíola Guerra; OLIVEIRA, Elaine Harada Teixeira de; OLIVEIRA, David Fernandes; CARVALHO, Leandro Silva Galvão de.
Classificação da Dificuldade de Questões de Programação: Aprofundando o Estudo Exploratório em Juízes Online. In: WORKSHOP SOBRE EDUCAÇÃO EM COMPUTAÇÃO (WEI), 33. , 2025, Maceió/AL.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2025
.
p. 482-493.
ISSN 2595-6175.
DOI: https://doi.org/10.5753/wei.2025.8271.
