<link rel="stylesheet" href="styles.f3b1fba60ec7970c.css">

Explorando o agrupamento de códigos para feedbacks mais eficientes no ensino de programação

dc.contributor.advisorDelgado, Carla Amor Divino Moreira
dc.contributor.advisorCo1Moraes, Laura de Oliveira Fernandes
dc.contributor.advisorCo2Pedreira, Carlos Eduardo
dc.creatorSasse, Arthur Mendonça
dc.date.accessioned2024-04-17T15:00:18Z
dc.date.available2026-05-16T03:08:12Z
dc.date.issued2024-02-01
dc.description.resumoVelocidade. 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.pt_BR
dc.embargo.termsabertopt_BR
dc.identifier.urihttp://hdl.handle.net/11422/22696
dc.languageporpt_BR
dc.publisherUniversidade Federal do Rio de Janeiropt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentInstituto de Computaçãopt_BR
dc.publisher.initialsUFRJpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectensino de programaçãopt_BR
dc.subjectanálise de dados educacionaispt_BR
dc.subjectambiente educacionalpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.titleExplorando o agrupamento de códigos para feedbacks mais eficientes no ensino de programaçãopt_BR
dc.typeTrabalho de conclusão de graduaçãopt_BR

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
AMSasse.pdf
Tamanho:
1,1 MB
Formato:
Adobe Portable Document Format

Pacote de licença

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
1,81 KB
Formato:
Item-specific license agreed upon to submission
Descrição: