Simple Science

Ciência de ponta explicada de forma simples

# Informática# Engenharia de software# Computadores e sociedade

Melhorando o Feedback na Educação em Programação

Uma nova ferramenta oferece um retorno rápido para tarefas de programação.

― 8 min ler


Ferramenta AutomáticaFerramenta Automáticapara Feedback deProgramaçãotarefas de programação.Process de feedback mais ágil para as
Índice

Nos últimos anos, mais e mais pessoas estão aprendendo programação e engenharia de software. Muitas escolas e cursos online estão disponíveis para ajudar os alunos a aprender essas habilidades. Porém, um grande desafio para os professores é dar feedback personalizado nas tarefas dos alunos. Isso é importante porque cada aluno tem necessidades diferentes, e o feedback pode ajudar na melhoria.

Para enfrentar esse problema, foram desenvolvidas algumas ferramentas chamadas Ferramentas de Avaliação Automatizadas (AATs). Essas ferramentas ajudam a fornecer feedback rápido e objetivo sobre o trabalho dos alunos. Infelizmente, muitas AATs funcionam apenas com linguagens de programação específicas ou exigem que os alunos interajam com sites desconhecidos, o que pode dificultar o processo de aprendizado.

Este artigo apresenta uma nova Ferramenta de Avaliação Automatizada que não depende de uma linguagem de programação específica e foi criada para facilitar o feedback para alunos e professores. Essa ferramenta visa ajudar os alunos a aprender programação de uma maneira mais envolvente, enquanto também dominam o uso do GIT, uma ferramenta popular para gerenciar código.

O Desafio do Feedback Personalizado

Oferecer feedback personalizado para alunos em programação e engenharia de software é trabalhoso e desafiador para os professores. Cada aluno pode precisar de um feedback diferente com base em suas necessidades, na linguagem de programação que está usando e no tipo de tarefa que está realizando. Métodos tradicionais de feedback, como reuniões presenciais ou e-mail, podem ser lentos e ineficazes, especialmente em turmas grandes.

As Ferramentas de Avaliação Automatizadas foram criadas para ajudar com esse problema. Essas ferramentas podem avaliar rapidamente o trabalho dos alunos e fornecer feedback, mas muitas vezes têm limitações. Por exemplo, muitas AATs só funcionam com linguagens de programação específicas, o que significa que os alunos podem não receber feedback relevante se usarem uma linguagem diferente. Além disso, algumas ferramentas podem exigir que os alunos aprendam a usar novas interfaces, o que pode adicionar complexidade desnecessária à experiência de aprendizado.

Apresentando uma Nova Ferramenta

A nova ferramenta de avaliação automatizada discutida neste artigo busca resolver as falhas das AATs existentes. Ela é projetada para ser independente de linguagem, o que significa que pode trabalhar com várias linguagens de programação. Assim, os alunos podem receber feedback independentemente da linguagem que escolherem usar.

Além disso, essa ferramenta é baseada no Git, um sistema de controle de versões amplamente utilizado. Os alunos já estão familiarizados com o Git ou vão aprendê-lo em seus cursos. Ao usar uma ferramenta que se integra ao Git, os alunos podem interagir com a ferramenta diretamente através de seus fluxos de trabalho existentes, sem precisar aprender uma nova interface.

A nova ferramenta de avaliação automatizada oferece dois tipos de avaliações: LABS e Projetos. Os alunos podem optar por completar labs para praticar e projetos para demonstrar suas habilidades. Os professores podem configurar essas avaliações com base nas necessidades do curso, facilitando o fornecimento de feedback relevante.

Como a Ferramenta Funciona

Quando os alunos submetem seu trabalho, a ferramenta automaticamente o avalia com base em um conjunto de testes criado pelo professor. A avaliação inclui feedback sobre vários aspectos da tarefa, como se o código está funcionando corretamente ou se há algum problema que precisa ser resolvido.

A ferramenta também se comunica com diferentes ferramentas de análise de programas, que podem fornecer feedback mais detalhado. Por exemplo, pode verificar erros de programação comuns ou encontrar áreas no código que possam precisar de melhoria. Os resultados dessa análise são então enviados de volta aos alunos através de seus repositórios Git.

Esse processo acontece rapidamente, permitindo que os alunos recebam feedback quase imediatamente após submeterem seu trabalho. Ter feedback em tempo hábil ajuda os alunos a aprender e corrigir seus erros sem esperar muito tempo.

Benefícios para Alunos e Professores

Essa nova ferramenta oferece múltiplos benefícios tanto para alunos quanto para professores. Para os alunos, a chance de receber feedback personalizado em tempo real pode melhorar muito sua experiência de aprendizado. Isso permite que eles entendam melhor seus erros e aprimorem suas habilidades em programação sem atrasos desnecessários.

Além disso, ao aprender a usar o Git de forma eficaz durante seus cursos, os alunos desenvolvem habilidades valiosas que são amplamente utilizadas na indústria de software. Esse duplo benefício de aprender programação e dominar o Git torna a experiência educacional mais rica.

Para os professores, a nova ferramenta de avaliação automatizada alivia algumas das dificuldades associadas à correção. Ao automatizar o processo de feedback, os professores podem se concentrar mais no ensino e ajudar os alunos a entender tópicos complexos. Eles podem rapidamente avaliar o progresso dos alunos e identificar áreas onde podem precisar de suporte adicional.

Estudos de Usuário e Feedback

Para reunir informações sobre como a nova ferramenta funciona, foram realizados estudos de usuários com alunos em diferentes cursos. Esses estudos tinham como objetivo avaliar a eficácia da ferramenta e como os alunos se sentiam ao usá-la.

Em um estudo, os alunos expressaram que acharam a ferramenta útil para seu processo de aprendizado. Muitos sentiram que o feedback personalizado que receberam ajudou a entender melhor seus erros. Os painéis, que rastreiam o progresso, também foram apreciados pelos alunos, pois forneciam uma visão clara de seu desempenho ao longo do tempo.

Os alunos também acharam as dicas fornecidas pela ferramenta valiosas. Essas dicas ajudaram a guiá-los na identificação de possíveis erros em seu código, permitindo que eles consertassem problemas sozinhos. Quando se tratou de ferramentas específicas como Valgrind e Lizard, os alunos relataram que o feedback que receberam foi benéfico para melhorar suas práticas de codificação.

No geral, as respostas positivas destacaram o impacto benéfico da ferramenta nas experiências de aprendizado dos alunos.

Fluxo de Trabalho de Integração Contínua

A nova ferramenta de avaliação automatizada está integrada a um fluxo de trabalho de integração contínua (CI). CI é uma prática que ajuda os desenvolvedores a automatizar os testes e a implantação de seu código. Para fins educacionais, isso permite que a ferramenta de avaliação analise o trabalho dos alunos de forma eficiente.

Quando os alunos submetem seu código, o pipeline CI é ativado. Isso significa que a ferramenta verifica automaticamente a submissão, executa vários testes e gera feedback sem intervenção manual. O uso do CI torna todo o processo mais suave e fornece uma experiência contínua para os alunos.

Flexibilidade e Personalização

Uma das grandes vantagens da nova ferramenta é sua flexibilidade. Os professores podem adaptar as avaliações de acordo com os requisitos específicos de seus cursos. Eles podem escolher quais testes executar, definir o tempo para o feedback e determinar como os resultados são compartilhados com os alunos.

Além disso, o design modular da ferramenta permite fácil integração com outras ferramentas de análise. Por exemplo, se um professor quiser implementar um novo verificador de qualidade de código ou ferramenta de depuração, pode fazê-lo sem interromper o sistema existente. Essa personalização garante que a ferramenta possa se adaptar a diferentes ambientes de ensino e necessidades educacionais.

Medidas de Segurança

A segurança também é uma consideração crítica ao usar ferramentas de avaliação automatizadas. A nova ferramenta foi projetada com várias características de segurança para garantir que o trabalho dos alunos seja tratado com segurança. Por exemplo, o processo de avaliação verifica se há qualquer manipulação de scripts que possa comprometer a funcionalidade do sistema.

Ao estabelecer funções claras para alunos e professores dentro do sistema, a ferramenta previne o acesso não autorizado a componentes críticos. Isso ajuda a manter a integridade das submissões dos alunos, garantindo que recebam avaliações justas baseadas exclusivamente em seu trabalho.

Conclusão

A nova ferramenta de avaliação automatizada apresenta uma solução inovadora para os desafios enfrentados tanto por alunos quanto por professores na educação em programação e engenharia de software. Ao fornecer feedback rápido e personalizado e integrar-se perfeitamente a ferramentas existentes como o Git, esse sistema melhora a experiência de aprendizado para os alunos enquanto reduz a carga de trabalho para os professores.

Por meio de estudos de usuários e feedback, fica claro que a ferramenta tem um impacto positivo no engajamento dos alunos e nos resultados de aprendizagem. À medida que a educação em programação continua a se expandir, ferramentas como essa desempenharão um papel crucial em ajudar os alunos a desenvolver as habilidades necessárias para ter sucesso na indústria de tecnologia.

Fonte original

Título: GitSEED: A Git-backed Automated Assessment Tool for Software Engineering and Programming Education

Resumo: Due to the substantial number of enrollments in programming courses, a key challenge is delivering personalized feedback to students. The nature of this feedback varies significantly, contingent on the subject and the chosen evaluation method. However, tailoring current Automated Assessment Tools (AATs) to integrate other program analysis tools is not straightforward. Moreover, AATs usually support only specific programming languages, providing feedback exclusively through dedicated websites based on test suites. This paper introduces GitSEED, a language-agnostic automated assessment tool designed for Programming Education and Software Engineering (SE) and backed by GitLab. The students interact with GitSEED through GitLab. Using GitSEED, students in Computer Science (CS) and SE can master the fundamentals of git while receiving personalized feedback on their programming assignments and projects. Furthermore, faculty members can easily tailor GitSEED's pipeline by integrating various code evaluation tools (e.g., memory leak detection, fault localization, program repair, etc.) to offer personalized feedback that aligns with the needs of each CS/SE course. Our experiments assess GitSEED's efficacy via comprehensive user evaluation, examining the impact of feedback mechanisms and features on student learning outcomes. Findings reveal positive correlations between GitSEED usage and student engagement.

Autores: Pedro Orvalho, Mikoláš Janota, Vasco Manquinho

Última atualização: 2024-09-11 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2409.07362

Fonte PDF: https://arxiv.org/pdf/2409.07362

Licença: https://creativecommons.org/licenses/by-nc-sa/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.

Mais de autores

Artigos semelhantes