RESUMO: Um experimento com o ExGen, ferramenta de geração automática de exercícios de programação introdutória, indica que modelos de linguagem podem ampliar a oferta de prática personalizada em Python quando combinados a instruções bem estruturadas e verificações automáticas. O ganho é mais consistente em tarefas básicas; nos desafios intermediários e difíceis, a taxa de itens prontos para uso permanece limitada, o que preserva a necessidade de supervisão pedagógica e técnica.
O QUE HÁ DE NOVO: Pesquisadores da Singapore Management University desenvolveram o ExGen, uma extensão para o Visual Studio Code (VS Code) voltada a estudantes de programação introdutória. O sistema gera exercícios sob demanda em três faixas, fácil, intermediária e difícil, e foi avaliado com 1.404 atividades de Python produzidas pelos modelos GPT-3.5 Turbo e GPT-4 Turbo. A proposta procura atender a uma lacuna das plataformas de prática já existentes: oferecer problemas alinhados ao conhecimento de quem está começando, em vez de desafios que pressupõem algoritmos e estruturas de dados mais avançados.
COMO FUNCIONA: O docente fornece inicialmente um conjunto reduzido de exercícios de referência, e cada estudante mantém uma base local com esses itens e os que decidir guardar. No VS Code, o aluno escolhe palavra-chave, nível de dificuldade e quantidade de exemplos que servirão de referência para o modelo. A ferramenta pode operar sem exemplos no pedido, no método chamado zero-shot, ou com um a três exemplos de atividades semelhantes, no few-shot; cada atividade solicitada inclui enunciado, solução de referência e testes.
Antes de exibir uma atividade como utilizável, o ExGen submete os candidatos a uma sequência de filtros: verifica se o código Python compila, executa os testes unitários fornecidos e pede ao modelo que classifique a dificuldade do problema. Apenas os itens que passam por essas etapas e coincidem com o nível solicitado são selecionados. O encadeamento reduz chamadas mais caras de classificação, pois esta só ocorre depois das verificações de código.
PRINCIPAIS RESULTADOS: A estratégia few-shot superou a zero-shot em todos os níveis quando usada com GPT-3.5 Turbo: 51,3% dos exercícios fáceis foram considerados prontos para uso, ante 32,9% sem exemplos. Para itens intermediários, as taxas foram 20,9% e 19,6%; nos difíceis, 13,7% e 12,4%. Além de elevar a aderência, os exemplos reduziram duplicações e, no conjunto avaliado, diminuíram custo e tempo médios por exercício aproveitável. Com few-shot, a geração de um item fácil pronto levou cerca de 5,2 segundos, enquanto a de um difícil ficou em 15,6 segundos.
Os filtros combinados também foram mais confiáveis que o teste unitário isolado. Na configuração few-shot, a concordância da cadeia de filtros com a inspeção humana alcançou 82,9% nos exercícios fáceis, 85,5% nos intermediários e 91,5% nos difíceis. O GPT-4 Turbo elevou a proporção de exercícios intermediários e difíceis aprovados, para 37,2% e 29,1%, respectivamente, no few-shot,, mas cobrou preço alto em velocidade e custo. Para atividades fáceis, seu desempenho não ultrapassou o do GPT-3.5 Turbo, em parte porque tendeu a produzir propostas acima da dificuldade pedida.
POR QUE ISSO IMPORTA PARA A EDUCAÇÃO: Em cursos iniciais, a quantidade e a progressão das práticas são decisivas para que estudantes consolidem laços, condicionais, listas e outras bases do pensamento computacional. Uma ferramenta capaz de gerar variações contextualizadas pode permitir que alunos avancem no próprio ritmo e dar aos professores um repertório maior sem exigir a redação manual de cada novo problema. A integração ao ambiente onde o código é escrito também evita a rotina fragmentada de copiar comandos e respostas entre um chatbot e o editor, tornando o recurso mais próximo da prática de sala de aula e laboratório.
O estudo sugere, porém, que personalização não deve ser confundida com autonomia irrestrita do modelo. Palavras-chave ligadas a conceitos simples funcionaram de forma mais versátil; termos de contexto real foram melhores para exercícios fáceis, mas falharam mais ao tentar produzir itens complexos no nível correto. Para redes e instituições, isso significa que uma adoção responsável requer curadoria de exercícios-base, definição curricular explícita de dificuldade, infraestrutura e controle de custos de API. A IA pode reduzir parte do trabalho operacional, mas não substitui a decisão docente sobre o que é apropriado ensinar, praticar e avaliar.
LIMITES E PRÓXIMOS PASSOS: A validação humana foi feita por um único instrutor experiente, e a própria classificação de dificuldade envolve julgamento pedagógico, apesar das rodadas de comparação realizadas. Os resultados também dependem de modelos específicos, que podem mudar com atualizações, e não medem diretamente se os exercícios aumentaram aprendizagem, persistência ou equidade entre perfis de estudantes. A próxima etapa relevante é testar o sistema em turmas reais, com diferentes currículos e públicos, acompanhando tanto os efeitos sobre a aprendizagem quanto os riscos de enunciados ambíguos, respostas incorretas e acesso desigual a recursos de IA.
Fonte: Automatic generation of introductory programming exercises with large language models