AGRUPAMENTO DE CÓDIGO PARA GERAÇÃO DE FEEDBACKS EM CURSOS INTRODUTÓRIOS DE PROGRAMAÇÃO

MIGUEL CORDEIRO DE SOUZA LIMA

Apresentador(es): MIGUEL CORDEIRO DE SOUZA LIMA

Orientador(es): LAURA DE OLIVEIRA FERNANDES MORAES


Área temática: INFORMÁTICA

Modalidade de apresentação: SESSÃO DE PÔSTER

Bolsa: Discente com bolsa externa à UNIRIO


Resumo

As plataformas digitais voltadas ao ensino de programação têm desempenhado um papel chave na democratização do acesso ao aprendizado, oferecendo tarefas práticas, acompanhamento constante e mecanismos de correção automatizados (Xara et al., 2025). Entretanto, mesmo diante desses avanços, a personalização do feedback ainda constitui um desafio, pois depende de análise docente individual e torna-se inviável em cenários com grande número de alunos e múltiplas atividades. Esse contexto motiva a busca por soluções que combinem automação e escalabilidade sem abrir mão da relevância pedagógica. Inserido nesse cenário, este trabalho investiga o uso do Overcode (Glassman et al., 2015), uma ferramenta de agrupamento de códigos que organiza soluções de alunos em clusters com base em suas similaridades estruturais e semânticas. A ideia central consiste em explorar a integração do Overcode ao Machine Teaching, plataforma voltada ao ensino introdutório de programação, para reduzir a quantidade de respostas que precisam ser avaliadas individualmente e oferecer ao professor uma visão global dos padrões de acertos e erros mais recorrentes. O Overcode opera por meio de um pipeline que realiza padronização, execução dos códigos, extração de sequências de valores, renomeação de variáveis e posterior agrupamento de soluções, resultando em representações unificadas que sintetizam cada cluster. A partir dessa organização, o docente pode concentrar seus esforços na elaboração de comentários por padrão identificado em vez de analisar cada submissão de forma isolada, tornando o processo de correção mais eficiente e didático. A proposta de inserção no Machine Teaching amplia esse potencial ao permitir que os clusters sejam acessados em uma interface já integrada à rotina de ensino, facilitando o acompanhamento do progresso dos estudantes. Os resultados obtidos em experimentos preliminares indicam que a clusterização é capaz de reduzir significativamente o número de códigos que exigem análise individual, especialmente em exercícios com grande volume de submissões, ao mesmo tempo em que mantém a viabilidade de execução em ambientes computacionais limitados (Sasse et al., 2024). Como desdobramento, trabalhos futuros incluem a recomendação de comentários, funcionalidade capaz de permitir ao sistema sugerir automaticamente anotações previamente registradas em respostas similares. Com isso, o professor poderá reutilizar observações já produzidas para outros clusters, acelerando a entrega de feedback, aumentando a consistência das orientações e ampliando a escalabilidade do processo avaliativo. A expectativa é que essa evolução reduza o trabalho repetitivo dos docentes e proporcione aos alunos respostas mais rápidas, consistentes e direcionadas, reforçando o feedback como elemento essencial no processo de aprendizagem em programação.

Bibliografia

GLASSMAN, Elena L.; SCOTT, Jeremy; SINGH, Rishabh; GUO, Philip J.; MILLER, Robert C. OverCode: visualizing variation in student solutions to programming problems at scale. ACM Transactions on Computer-Human Interaction, v. 22, n. 2, art. 7, pp. 35, Abril de 2015. DOI: https://doi.org/10.1145/2699751. SASSE, Arthur M.; MORAES, Laura O.; DELGADO, Carla A. D. M.; PEDREIRA, Carlos E. Analisando a efetividade da formação de clusters na avaliação de exercícios de programação. In: SIMPÓSIO BRASILEIRO DE EDUCAÇÃO EM COMPUTAÇÃO (EDUCOMP), 4., 2024, Evento Online. Anais.... Porto Alegre: Sociedade Brasileira de Computação, 2024. p. 325-335. ISSN 3086-0733. DOI: https://doi.org/10.5753/educomp.2024.237380. XARÁ, G.; DELGADO, C. A. D. M.; FARIAS, C. M.; GUARILHA, H. F.; MORAES, L. O.; FREIRE, J. P.; TEIXEIRA, E. N. Technical and tactical factors of an educational platform aiming to deal with a large number of students and inequalities when teaching programming for STEM students. Revista Brasileira

Palavras-chave

Ensino de programação feedback automático Machine Teaching Overcode clusterização de códigos recomendação de comentários.
Voltar