Uma abordagem adaptativa para gerar agrupamento de códigos em disciplinas de programação introdutória
Resumo
Apesar da importância das disciplinas introdutórias de programação, é bastante comum encontrar problemas de ensino e aprendizagem. Facilmente, em tais ambientes, encontramos alunos desmotivados, com dúvidas não esclarecidas e que não entendem conceitos básicos. O acompanhamento individualizado dos alunos não é trivial, pois existem muitos alunos e é necessário observar muitas características de cada código proposto nas diversas atividades práticas adotadas. Nesta pesquisa, investigou-se o agrupamento de soluções, visando minimizar o esforço de avaliação despendido. As concordâncias obtidas nos resultados variam de razoável a perfeita, considerando as avaliações semiautomáticas obtidas com os agrupamentos e as avaliações de especialistas.
Referências
Choudhury, R.R., Yin, H., Moghadam, J., Chen, A., and Fox, A. (2016). Autostyle: Scale-driven hint generation for coding style. In Proceedings of the 13th International Conference on Intelligent Tutoring Systems, ITS 201, pages 122–132.
Cohen, J. (1960). A coefficient of agreement for nominal scales. Educational and Psychological Measurement, 20(1):37–46.
Fitzpatrick, J. (2000). More c++ gems. chapter Applying the ABC Metric to C, C++, and Java, pages 245–264. Cambridge University Press, New York, NY, USA.
Forsythe, G.E. and Wirth, N. (1965). Automatic grading programs. Commun. ACM, 8(5):275–278.
Gwet, K.L. (2008). Computing inter-rater reliability and its variance in the presence of high agreement. British Journal of Mathematical and Statistical Psychology, 61(1):29–48.
Halstead, M.H. (1977). Elements of Software Science (Operating and Programming Systems Series). Elsevier Science Inc., New York, NY, USA.
Hext, J.B. and Winings, J.W. (1969). An automatic grading scheme for simple programming exercises. Commun. ACM, 12(5):272–275.
Li, S., Xiao, X., Bassett, B., Xie, T., and Tillmann, N. (2016). Measuring code behavioral similarity for programming and software engineering education. In Proceedings of the 38th International Conference on Software Engineering Companion, ICSE’16, pages 501–510, New York, NY, USA. ACM.
McCabe, T.J. (1996). Cyclomatic complexity and the year 2000. IEEE Software, 13(3):115–117.
McCracken, M., Almstrum, V., Diaz, D., Guzdial, M., Hagan, D., Kolikant, Y.B.-D., Laxer, C., Thomas, L., Utting, I., and Wilusz, T. (2001). A multinational, multi-institutional study of assessment of programming skills of first-year cs students. In Working Group Reports from ITiCSE, pages 125–180, New York, USA.
Mota, M.P., de Brito, S.R., Moreira, M.P., and Favero, E.L. (2009). Ambiente integrado a plataforma moodle para apoio ao desenvolvimento das habilidades iniciais de programação. In Anais do XX SBIE 2009, Florianópolis, SC, Brasil.
Paes, R.B., Malaquias, R., Guimarães, M., and Almeida, H. (2013). Ferramenta para a avaliação de aprendizado de alunos em programação de computadores. In Anais do II CBIE-Workshops (WCBIE 2013), Campinas, SP.
Pelz, F.D., de Jesus, E.A., and Raabe, A.L. (2012). Um mecanismo para correção automática de exercícios práticos de programação introdutória. In Anais do SBIE.
Piech, C. (2013). K-means. [link]. Último acesso em fevereiro de 2017.
Raabe, A., de Jesus, E.A., Hodecker, A., and Pelz, F. (2015). Avaliação do feedback gerado por um corretor automático de algoritmos. In Anais do SBIE, pages 358–366.
Rego, M.G., Dantas, A., and Guerrero, D.S. (2014). Can computers compare student code solutions as well as teachers? In Proceedings of the 45th ACM Technical Symposium on Computer Science Education, SIGCSE’14, pages 21–26.
Silva, M.T., Costa, E.D.B., Barbosa, P.H., and Cavalcante, J.D.C. (2014). Um Arcabouço para Construção de Mecanismos de Análise de Códigos de Programação Introdutória. In Anais do SBIE, pages 1083–1092.
Sommerville, I. (2010). Software Engineering. Addison-Wesley Publishing Company, USA, 9th edition.
Srikant, S. and Aggarwal, V. (2014). A system to grade computer programming skills using machine learning. In Proc. of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD’14, pages 1887–1896. ACM.
Stegeman, M., Barendsen, E., and Smetsers, S. (2014). Towards an empirically validated model for assessment of code quality. In Proc. of the 14th Koli Calling Int. Conf. on Computing Education Research, Koli Calling, pages 99–108, New York, USA.
Yin, H., Moghadam, J., and Fox, A. (2015). Clustering student programming assignments to multiply instructor leverage. In Proceedings of the Second (2015) ACM Conference on Learning@Scale, L@S’15, pages 367–372. ACM.
Yulianto, S.V. and Liem, I. (2014). Automatic grader for programming assignment using source code analyzer. In Data and Software Engineering (ICODSE), 2014 International Conference on, pages 1–4. IEEE.
