Please use this identifier to cite or link to this item: http://hdl.handle.net/11422/22696
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorDelgado, Carla Amor Divino Moreira-
dc.contributor.authorSasse, Arthur Mendonça-
dc.date.accessioned2024-04-17T15:00:18Z-
dc.date.available2024-04-19T03:00:23Z-
dc.date.issued2024-02-01-
dc.identifier.urihttp://hdl.handle.net/11422/22696-
dc.languageporpt_BR
dc.publisherUniversidade Federal do Rio de Janeiropt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectensino de programaçãopt_BR
dc.subjectanálise de dados educacionaispt_BR
dc.subjectambiente educacionalpt_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
dc.contributor.advisorCo1Moraes, Laura de Oliveira Fernandes-
dc.contributor.advisorCo2Pedreira, Carlos Eduardo-
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.publisher.countryBrasilpt_BR
dc.publisher.departmentInstituto de Computaçãopt_BR
dc.publisher.initialsUFRJpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.embargo.termsabertopt_BR
Appears in Collections:Ciência da Computação

Files in This Item:
File Description SizeFormat 
AMSasse.pdf1.13 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.