Use este identificador para citar ou linkar para este item: http://hdl.handle.net/11422/22696
Tipo: Trabalho de conclusão de graduação
Título: Explorando o agrupamento de códigos para feedbacks mais eficientes no ensino de programação
Autor(es)/Inventor(es): Sasse, Arthur Mendonça
Orientador: Delgado, Carla Amor Divino Moreira
Coorientador: Moraes, Laura de Oliveira Fernandes
Coorientador: Pedreira, Carlos Eduardo
Resumo: Velocidade. Organização. Disponibilidade. Correções automáticas. São claros os benefícios das plataformas online de ensino de programação, que são válidos para turmas tradicionais de graduação até grandes cursos abertos, como aqueles presentes no Coursera ou Codecademy. Mas o feedback personalizado, além da aprovação ou reprovação nos casos de testes, é um elemento essencial do ensino que ainda depende da análise humana e não consegue ser reproduzido em larga escala nesses sistemas. Ao mesmo tempo, percebe-se, na prática, que muitos alunos, em suas respostas, incorrem nos mesmos erros ou padrões de resolução, que poderiam receber o mesmo tipo de feedback do professor. Este estudo é motivado pela perspectiva de usar as similaridades entre os programas submetidos pelos estudantes para reaproveitar as análises dos docentes e diminuir o esforço repetitivo. Dessa forma, este trabalho realiza uma pesquisa exploratória sobre a viabilidade do agrupamento automático de códigos como uma alternativa para reduzir o trabalho docente de produção de feedback para as atividades de prática em programação. Primeiro é apresentada uma análise das abordagens existentes para o agrupamento de códigos e reaproveitamento de feedbacks, além dos critérios para a escolha da ferramenta que passou por uma avaliação mais profunda. Uma vez escolhido o Overcode, o atualizamos para funcionar com o Python 3 e avaliamos a sua capacidade de clusterização em um conjunto de dados com mais de 100 questões e dezenas de milhares de soluções, extraídos do Machine Teaching, plataforma utilizada para o ensino de programação em cursos de graduação da Universidade Federal do Rio de Janeiro. Os resultados indicam que, usando a clusterização do Overcode, é possível reduzir significativamente o número de soluções para problemas de programação que um docente precisa avaliar em comparação com a abordagem tradicional, de avaliar os códigos de estudantes individualmente. Essa redução se mostrou ainda mais significativa para questões com grandes quantidades (centenas) de respostas. Além disso, para quantidades pequenas de questões (até 50) o Overcode mostrou-se uma ferramenta que não exige grande poder computacional, sendo executado em poucos segundos em um hardware de computador pessoal.
Palavras-chave: ensino de programação
análise de dados educacionais
ambiente educacional
Assunto CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Unidade produtora: Instituto de Computação
Editora: Universidade Federal do Rio de Janeiro
Data de publicação: 1-Fev-2024
País de publicação: Brasil
Idioma da publicação: por
Tipo de acesso: Acesso Aberto
Aparece nas coleções:Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
AMSasse.pdf1.13 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.