Predição de Zona de Aprendizagem de Alunos de Introdução à Programação em Ambientes de Correção Automática de Código
Resumo
Este trabalho tem por objetivo propor e validar um método para inferir a zona de aprendizagem de alunos de turmas de Introdução à Programação (IPC) em ambientes de correção automática de código (ACAC). Para tanto, foi construído um perfil de programação baseado nos dados deixados pelos estudantes à medida que eles resolvem exercícios nesses sistemas. Os alunos que tiraram notas inferiores a 5 foram classificados em uma zona de dificuldade, do contrário em uma zona de expertise. Utilizou-se algoritmos de aprendizagem de máquina para fazer a predição. O modelo preditivo construído obteve 78,3% de acurácia já nas duas primeiras semanas de aula, o que ultrapassa os resultados de pesquisas que foram conduzidas em cenários semelhantes.
Palavras-chave:
Aprendizagem de Máquina, Zona de Aprendizagem, Introdução à Programação, Correção Automática de Código
Referências
Ahadi, A., Vihavainen, A., and Lister, R. (2016). On the number of attempts students made on some online programming exercises during semester and their subsequent performance on final exam questions. ACM conference on Innovation and Technology in Computer Science Education, pages 218–223.
Auvinen, T. (2015). Harmful study habits in online learning environments with automatic assessment. In Learning and Teaching in Computing and Engineering (LaTiCE), 2015 International Conference on, pages 50–57. IEEE.
Blikstein, P., Worsley, M., Piech, C., Sahami, M., Cooper, S., and Koller, D. (2014). Programming pluralism: Using learning analytics to detect patterns in the learning of computer programming. Journal of the Learning Sciences, 23(4):561–599.
Estey, A. and Coady, Y. (2016). Can interaction patterns with supplemental study tools predict outcomes in cs1? Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education-ITiCSE’16, pages 236–241.
Galvão, L., Fernandes, D., and Gadelha, B. (2016). Juiz online como ferramenta de apoio a uma metodologia de ensino híbrido em programação. In Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação - SBIE), volume 27, page 140.
Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., and Witten, I. H. (2009). The weka data mining software: an update. ACM SIGKDD explorations newsletter, 11(1):10–18.
Ihantola, P., Vihavainen, A., Ahadi, A., Butler, M., Börstler, J., Edwards, S. H., Isohanni, E., Korhonen, A., Petersen, A., Rivers, K., et al. (2015). Educational data mining and learning analytics in programming: Literature review and case studies. In Proceedings of the 2015 ITiCSE on Working Group Reports, pages 41–63. ACM.
Jadud, M. C. (2006). Methods and tools for exploring novice compilation behaviour. In Proceedings of the second international workshop on Computing education research, pages 73–84. ACM.
Leinonen, J., Longi, K., Klami, A., and Vihavainen, A. (2016). Automatic inference of programming performance and experience from typing patterns.
Otero, J., Junco, L., Suarez, R., Palacios, A., Couso, I., and Sanchez, L. (2016). Finding informative code metrics under uncertainty for predicting the pass rate of online courses. 373:42–56.
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., and Duchesnay, E. (2011). Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12:2825–2830.
Peterson, A., Spacco, J., and Vihavainen, A. (2015). An exploration of error quotient in multiple contexts. Proceedings of the 15th Koli Calling Conference on Computing Education Research, pages 77–86.
Watson, C. and Li, F. (2014). Failure rates in introductory programming revisited. Proceedings of the 2014 conference on Innovation & technology in computer science education, pages 39–44.
Watson, C., Li, F. W., and Godwin, J. L. (2013). Predicting performance in an introductory programming course by logging and analyzing student programming behavior. In Advanced Learning Technologies (ICALT), 2013 IEEE 13th International Conference on, pages 319–323. IEEE.
Auvinen, T. (2015). Harmful study habits in online learning environments with automatic assessment. In Learning and Teaching in Computing and Engineering (LaTiCE), 2015 International Conference on, pages 50–57. IEEE.
Blikstein, P., Worsley, M., Piech, C., Sahami, M., Cooper, S., and Koller, D. (2014). Programming pluralism: Using learning analytics to detect patterns in the learning of computer programming. Journal of the Learning Sciences, 23(4):561–599.
Estey, A. and Coady, Y. (2016). Can interaction patterns with supplemental study tools predict outcomes in cs1? Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education-ITiCSE’16, pages 236–241.
Galvão, L., Fernandes, D., and Gadelha, B. (2016). Juiz online como ferramenta de apoio a uma metodologia de ensino híbrido em programação. In Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação - SBIE), volume 27, page 140.
Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., and Witten, I. H. (2009). The weka data mining software: an update. ACM SIGKDD explorations newsletter, 11(1):10–18.
Ihantola, P., Vihavainen, A., Ahadi, A., Butler, M., Börstler, J., Edwards, S. H., Isohanni, E., Korhonen, A., Petersen, A., Rivers, K., et al. (2015). Educational data mining and learning analytics in programming: Literature review and case studies. In Proceedings of the 2015 ITiCSE on Working Group Reports, pages 41–63. ACM.
Jadud, M. C. (2006). Methods and tools for exploring novice compilation behaviour. In Proceedings of the second international workshop on Computing education research, pages 73–84. ACM.
Leinonen, J., Longi, K., Klami, A., and Vihavainen, A. (2016). Automatic inference of programming performance and experience from typing patterns.
Otero, J., Junco, L., Suarez, R., Palacios, A., Couso, I., and Sanchez, L. (2016). Finding informative code metrics under uncertainty for predicting the pass rate of online courses. 373:42–56.
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., and Duchesnay, E. (2011). Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12:2825–2830.
Peterson, A., Spacco, J., and Vihavainen, A. (2015). An exploration of error quotient in multiple contexts. Proceedings of the 15th Koli Calling Conference on Computing Education Research, pages 77–86.
Watson, C. and Li, F. (2014). Failure rates in introductory programming revisited. Proceedings of the 2014 conference on Innovation & technology in computer science education, pages 39–44.
Watson, C., Li, F. W., and Godwin, J. L. (2013). Predicting performance in an introductory programming course by logging and analyzing student programming behavior. In Advanced Learning Technologies (ICALT), 2013 IEEE 13th International Conference on, pages 319–323. IEEE.
Publicado
30/10/2017
Como Citar
PEREIRA, Filipe Dwan; DE OLIVEIRA, Elaine Harada Teixeira; DE OLIVEIRA, David Fernandes.
Predição de Zona de Aprendizagem de Alunos de Introdução à Programação em Ambientes de Correção Automática de Código. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO (SBIE), 28. , 2017, Recife/PE.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2017
.
p. 1507-1516.
DOI: https://doi.org/10.5753/cbie.sbie.2017.1507.
