Classificação de Códigos Usando medidas de similaridade para apoio ao Ensino em Programação

  • José Carlos Campana Filho Universidade Federal do Espírito Santo (UFES)
  • Elias Oliveira Universidade Federal do Espírito Santo (UFES)
  • Márcia Gonçalves de Oliveira Universidade Federal do Espírito Santo (UFES)

Resumo


O aumento de cursos de programação de computadores em plataformas de ensino a distância (EAD) tem gerado uma grande quantidade de questões e códigos. Esta base de conhecimento nem sempre está organizada de forma adequada para ser reaproveitada. Com o objetivo de auxiliar professores na geração dessa base, propomos uma melhoria em uma abordagem de classificação de códigos em linguagem C baseada em medidas de similaridade para agrupar códigos de programação por tema ou tipo de problema. A contribuição desse processo de classificação é a geração de uma base de questões com códigos de soluções associados, que pode ser utilizada como fonte de pesquisa ou para correção automática de questões de programação.
Palavras-chave: Classificação, Códigos, Similaridade, Ensino, Programação

Referências

Baby, J., Kannan, T., Vinod, P. and Gopal, V. (2014). Distance indices for the detection of similarity in C programs. In Computation of Power, Energy, Information and Communication (ICCPEIC), Chennai. IEEE. DOI: 10.1109/ICCPEIC.2014.6915408.

Baeza-Yates, R. A., Ribeiro-Neto, B. (1999). Modern Information Retrieval. Addison-Wesley Longman Publishing Co., Inc., Boston, MA.

Cha, S.-H. (2007). Comprehensive survey on distance/similarity measures between probability density functions. In International Journal of Mathematical Models And Methods In Applied Sciences, Volume 1, pp. 300-307, 2007.

Meneses, L. F., Mai, L. F. F., Rosario, J., Oliveira, E., Gomes, R. L. (2015). IntroComp: Atraindo alunos do ensino médio para uma instigante experiência com a programação. In Anais do XXIII Workshop sobre Educação em Computação (WEI 2015), Recife, PE, SBC.

Moreira, M. P. and Favero, E. L. (2009). Um ambiente para ensino de programação com feedback automático de exercícios. In XVII Workshop Sobre Educação em Computação (WEI) - CSBC 2009.

MOSS. (2014). MOSS (Measure Of Software Similarity) plagiarism detection system. Univ. California, Berkeley. Disponível em [link], Acesso em: 21 de março de 2016.

Oliveira, M.; Nogueira, M. A. and Oliveira, E. (2015). Sistema de apoio à prática assistida de programação por execução em massa e análise de programas. In Anais do XXIII Workshop sobre Educação em Computação (WEI 2015), Recife, PE, SBC.

Pike, R. (2012) The Sherlock Plagiarism Detector. Disponível em: [link], Acesso em: 21 de março de 2016.

Prechelt, L.; Malpohl, G. and Phlippsen, M. (2002). Finding plagiarisms among a set of programs with JPlag. In J.UCS Journal of Universal Computer Science.

Valentim, R., Meneses, L., Carvalho, T. M., Penha, R. E., de Oliveira, P., dos Santos, G. A., Rodrigues, L. P., Leite, L. B., Rodrigues, D. P., Gomes, R. L. and Oliveira, E. (2014). Em busca de uma metodologia para a disseminação em massa do ensino de programação. In Seminário Nacional de Inclusão Digital (SENID), Passo Fundo, RS, SBC.
Publicado
24/10/2016
CAMPANA FILHO, José Carlos; OLIVEIRA, Elias; DE OLIVEIRA, Márcia Gonçalves. Classificação de Códigos Usando medidas de similaridade para apoio ao Ensino em Programação. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO (SBIE), 27. , 2016, Uberlândia/MG. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2016 . p. 1156-1164. DOI: https://doi.org/10.5753/cbie.sbie.2016.1156.