Classificação de dificuldade de questões de programação com base em métricas de código

Resumo


No ensino de programação utilizando juízes online, é importante apresentar ao estudante questões de programação em nível crescente de dificuldade, bem como equilibrar os níveis das questões sorteadas pelo ambiente durante avaliações. Este trabalho propõe e valida um método para classificar automaticamente a dificuldade de questões de programação com base em métricas extraídas de códigos de soluções cadastrados pelos(as) instrutores(as). Ao todo, foram analisadas 354 questões implementadas em Python e elaboradas para turmas de introdução à programação ministradas entre 2017 e 2019. Verificou-se que o uso de métricas extraídas de código pode sim ser utilizado para estimar a dificuldade de questões, além de elucidar alguns aspectos da dificuldade encontrada pelos estudantes.
Palavras-chave: Dificuldade de questões de programação, avaliação, introdução à programação

Referências

Denny, P., Cukierman, D., and Bhaskar, J. (2015). Measuring the effect of inventing practice exercises on learning in an introductory programming course. InProceedingsof the 15th Koli Calling Conference on Computing Education Research, pages 13–22.


Effenberger, T.,ˇCechák, J., and Pelánek, R. (2019). Measuring difficulty of introductory programming tasks. InProceedings of the Sixth (2019) ACM Conference on Learning@ Scale, L@S ’19, New York, NY, USA. Association for Computing Machinery.


Elnaffar, S. (2016). Using software metrics to predict the difficulty of code writing questions. In 2016 IEEE Global Engineering Education Conference (EDUCON), pages513–518. IEEE.


Francisco, R. E. and Ambrosio, A. P. (2015). Mining an online judge system to support introductory computer programming teaching. In EDM (Workshops).


Halstead, M. H. (1977).Elements of Software Science (Operating and programming systems Series). Elsevier Science Inc., USA.


INEP (2017). Relatório síntese deárea – Ciência da Computação. Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira.


Llana, L., E., M.-M., and Pareja-Flores (2012). Flop, a free laboratory of programming.In Proceedings of the 12th Koli Calling International Conference on Computing Edu-cation Research.


McCabe, T. J. (1976). A complexity measure.IEEE Transactions on Software Engineering, SE-2(4):308–320.


Meisalo, V., Sutinen, E., and Torvinen, S. (2004). Classification of exercises in a virtual programming course. In: Frontiers in Education Conference, FIE, volume 3.


Pelanek, R. (2016). Applications of the Elo rating system in adaptive educational systems.Computers & Education, 98:169–179.


Pereira, F. D., Oliveira, E. H., Oliveira, D. B., Cristea, A. I., Carvalho, L. S., Fonseca,S. C., Toda, A., and Isotani, S. (2020). Using learning analytics in the amazonas: understanding students’ behaviour in introductory programming.British Journal of educational Technology.


Santos, P., Carvalho, L. S. G., Oliveira, E., and Fernandes, D. (2019). Classificação dedificuldade de questões de programação com base na inteligibilidade do enunciado.In Simpósio Brasileiro de Informática na Educação (SBIE), volume 30, pages 1886–1895.


Sheard, J., Simon, Carbone, A., Chinn, D., Laakso, M.-J., Clear, T., Raadt, M., D’Souza,D., Harland, J., Lister, R., Philpott, A., and Warburton, G. (2011). Exploring program-ming assessment instruments: A classification scheme for examination questions. In 7th Intern. Workshop on Computing Education Research (ICER), Providence, USA.


Simon, Sheard, J., Carbone, A., Chinn, D., Clear, T., Corney, M., D’Souza, D., Fenwick,J., Harland, J., Laakso, M.-J., and Teague, D. (2013). How difficult are exams? a framework for assessing the complexity of introductory programming exams. In 15th Australasian Computing Education Conference (ACE2013).


Wolpert, D. (1992). Stacked generalization.Neural Networks, 5:241–259.


Zaffalon, F., Vargas, A. P., Souza, R. L., Penna, R., Bez, J., Tonin, N., and Costa Botelho,S. S. (2019). Um estudo comparativo entre dois modelos que estimam a habilidade dosestudantes: Elo e teoria de resposta ao item. InSimpósio Brasileiro de Informática naEducação (SBIE), volume 30, pages 459–468.
Publicado
24/11/2020
LIMA, Marcos; CARVALHO, Leandro Silva Galvão de; OLIVEIRA, Elaine Harada Teixeira de; OLIVEIRA, David Braga Fernandes; PEREIRA, Filipe Dwan. Classificação de dificuldade de questões de programação com base em métricas de código. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO (SBIE), 31. , 2020, Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 1323-1332. DOI: https://doi.org/10.5753/cbie.sbie.2020.1323.