Avaliando a Compreensão dos Alunos em Cursos de Programação
Perguntas automatizadas podem mostrar as falhas no conhecimento de programação dos alunos.
― 5 min ler
Índice
Em cursos de Programação, os alunos muitas vezes conseguem completar tarefas de codificação com sucesso, mas podem não entender totalmente como seu código funciona. Isso pode causar problemas mais tarde na jornada de aprendizado deles. Para resolver isso, pesquisadores criaram perguntas automatizadas baseadas no próprio código dos alunos para verificar sua compreensão. Essas perguntas têm o objetivo de descobrir se os alunos realmente sabem como seus programas funcionam ou se estão apenas produzindo código que funciona sem um Entendimento sólido dos conceitos subjacentes.
Contexto
Quando iniciantes aprendem a programar, eles podem escrever programas que funcionam, mas ainda assim têm dificuldade com perguntas básicas sobre seu próprio código. Estudos anteriores mostram que muitos alunos falham em responder perguntas simples sobre seus programas corretamente. Essa situação pode estar ligada a habilidades de programação fracas e mal-entendidos de conceitos chave. Além disso, o aumento de ferramentas de IA que geram código pode piorar esse problema, já que os alunos podem se apoiar nessas ferramentas sem entender totalmente o código que recebem.
Propósito do Estudo
Esse estudo buscou investigar como alunos em um curso de programação avançado, após completar cursos introdutórios, respondem a perguntas sobre suas próprias tarefas de codificação. O objetivo era ver se alunos que responderam perguntas incorretamente tinham taxas de sucesso mais baixas no curso e se essas perguntas poderiam revelar áreas onde os alunos poderiam precisar de mais apoio.
Metodologia
A pesquisa envolveu um exercício de programação onde os alunos criaram um programa para calcular a média de precipitação ao longo de vários dias. O programa foi avaliado automaticamente, e os alunos receberam feedback imediato. Após submeterem seu código, foram apresentados a perguntas de múltipla escolha baseadas em suas submissões. As perguntas foram desenhadas para testar sua compreensão da lógica e estrutura de seus programas.
O estudo envolveu 324 alunos que se voluntariaram para ter seus dados utilizados, resultando em um tamanho de amostra de 291 alunos após excluir aqueles que não participaram completamente. Os pesquisadores examinaram as respostas dos alunos às perguntas e as compararam ao desempenho geral deles no curso.
Resultados
Dos alunos que participaram, 27% tiveram dificuldades com pelo menos uma das perguntas relacionadas ao seu próprio código. Surpreendentemente, mesmo em um curso mais avançado, muitos alunos ainda tinham dificuldade em responder corretamente perguntas básicas. O desempenho nessas perguntas refletiu a compreensão deles sobre conceitos de programação essenciais. Alunos que tiveram dificuldades nas perguntas geralmente tinham notas gerais mais baixas no curso.
Tipos de Perguntas
As perguntas foram divididas em três tipos principais:
Reconhecimento de Variáveis: Esse tipo de pergunta testou se os alunos podiam identificar os nomes das variáveis dentro do seu código. Cerca de 86% dos alunos conseguiram responder isso corretamente.
Compreensão do Fluxo do Programa: Isso tinha como objetivo avaliar se os alunos podiam identificar quais partes do seu código poderiam levar a erros. Aqui, a taxa de sucesso foi um pouco mais baixa, cerca de 85%.
Propósito do Código: Essa questionou os alunos sobre o raciocínio por trás de linhas específicas de seu código. Um número notável de 96% dos alunos respondeu corretamente nessa categoria.
Apesar das taxas de sucesso geralmente altas, alunos que erraram perguntas sobre o fluxo do programa e o propósito frequentemente mostraram sucesso geral mais baixo no curso, sugerindo uma compreensão fraca nessas áreas críticas.
Implicações para o Aprendizado
Os resultados do estudo sugerem que, enquanto muitos alunos conseguem produzir código funcional, eles podem ter dificuldade em entender como seu código funciona. Essa dificuldade pode ser uma barreira para o progresso deles no aprendizado de programação.
Encontrar maneiras de abordar essas lacunas de compreensão é essencial. QLCs, ou Perguntas sobre o Código dos Alunos, podem desempenhar um papel vital em identificar áreas onde os alunos precisam de mais ajuda. Elas poderiam ser usadas no início dos cursos para destacar alunos que podem ter conhecimentos frágeis e precisam de apoio adicional.
Uso de IA na Programação
O uso de ferramentas de IA está se tornando comum entre os alunos, permitindo que eles gerem código rapidamente. Embora essas tecnologias possam ajudar a completar tarefas, elas também podem contribuir para uma falta de compreensão profunda. Os alunos podem depender demais dessas ferramentas, o que pode prejudicar sua capacidade de compreender a estrutura e lógica do código.
Com a evolução da IA, a educação deve se adaptar. Os professores poderiam focar em ajudar os alunos a desenvolver estratégias para entender e analisar o código, em vez de apenas produzi-lo. Incorporar ferramentas educacionais que promovam a compreensão poderia beneficiar os alunos significativamente.
Conclusão
Entender programação é crucial para o sucesso dos alunos em tarefas de codificação, mas muitos ainda lutam. Perguntas automatizadas derivadas do próprio código dos alunos podem ajudar a identificar lacunas no conhecimento e melhorar os resultados de aprendizado. À medida que a programação continua a crescer em importância, desenvolver métodos de ensino eficazes que promovam a compreensão juntamente com as habilidades de codificação será essencial.
Mais pesquisas são necessárias para refinar essas perguntas automatizadas e entender por que alguns alunos têm dificuldade em respondê-las corretamente. Ao abordar esses desafios, os educadores podem apoiar melhor os alunos em sua educação em programação e ajudá-los a construir uma base sólida para o aprendizado futuro.
Título: Automated Questions About Learners' Own Code Help to Detect Fragile Knowledge
Resumo: Students are able to produce correctly functioning program code even though they have a fragile understanding of how it actually works. Questions derived automatically from individual exercise submissions (QLC) can probe if and how well the students understand the structure and logic of the code they just created. Prior research studied this approach in the context of the first programming course. We replicate the study on a follow-up programming course for engineering students which contains a recap of general concepts in CS1. The task was the classic rainfall problem which was solved by 90% of the students. The QLCs generated from each passing submission were kept intentionally simple, yet 27% of the students failed in at least one of them. Students who struggled with questions about their own program logic had a lower median for overall course points than students who answered correctly.
Autores: Teemu Lehtinen, Otto Seppälä, Ari Korhonen
Última atualização: 2023-06-28 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2306.16267
Fonte PDF: https://arxiv.org/pdf/2306.16267
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.