Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/91569

TítuloACE grader automatic grading of programming exercises
Autor(es)Santos, Sofia Guilherme Rodrigues dos
Orientador(es)Henriques, Pedro Rangel
Gancarski, Alda
Palavras-chaveAutomatic assessment
Assessment software
Programming exercises
Dynamic analysis
Static analysis
Education technology
Avaliação automática
Programa de avaliação
Exercícios de programação
Análise dinâmica
Análise estática
Tecnologia educacional
Data6-Set-2023
Resumo(s)Despite their rising usage in classrooms, most automatic grading tools for programming exercises are quite simple, using only output comparison or unit tests to evaluate a solution, in contrast with manual grading methods used by teachers, which also look at the code itself, even if it doesn’t produce a correct solution. Static analysis methods for code have been around for a while, but largely ignored in assessment software. The Master’s project here reported proposes an automatic grading method for pro gramming exercises that, in addition to dynamic analysis, uses static analysis to evaluate submissions. This method benefits both teachers and students, since, by scoring solutions that produce the wrong output, it provides a more comprehensive evaluation of student submitted programs while also making it easier to see exactly what needs to be improved. Moreover, it makes evaluation more rigorous, by requiring more than just a program that solely produces the correct result. A prototype application called ACE Grader was created to demonstrate the efficacy of this grading strategy. This dissertation describes a bibliographic review of existing automatic grading tools, proposes and introduces ACE Grader through an overview of its architecture and its development process. As an initial version of the application was deployed in the middle of the second semester of university classes, experiments with students in a real classroom setting are also presented and discussed.
Apesar do seu uso crescente em salas de aula, a maioria das ferramentas de avaliação automática de exercícios de programação são relativamente simples, usando apenas com paração de output ou testes unitários para avaliar uma solução, em contraste com métodos de avaliação manual usados por professores, que também têm em conta o código em si, mesmo que este não produza uma solução correta. Métodos de análise estática para código, que tentam preencher esta lacuna, já existem há algum tempo, mas são na sua maioria ignorados em software de correção. O projeto de mestrado aqui descrito propôe um método de avaliação automática de exercícios de programação que, para além de análise dinâmica, usa análise estática para avaliar submissões. Este método beneficia tanto professores como estudantes, visto que, ao pontuar soluções que produzem o output errado, avalia de forma mais compreensiva os programas submetidos por estudantes e permite saber exatamente o que pode ser melhorado. Para além disso, torna a avaliação mais rigorosa, ao exigir mais do que um programa que apenas produz o resultado correto. Um protótipo de uma aplicação chamado ACE Grader foi desenvolvido para demonstrar a eficácia desta estratégia de correção. Esta dissertação descreve uma revisão bibliográfica de ferramentas de avaliação automática existentes, propôe e introduz o ACE Grader através de uma visão geral da sua arquitetura e do seu processo de desenvolvimento. Uma versão inicial da aplicação foi disponibilizada para testes a meio do segundo semestre letivo, o que permitiu que esta fosse usada em sala de aula com estudantes, em experiências que são aqui apresentadas e discutidas.
TipoDissertação de mestrado
DescriçãoDissertação de mestrado integrado em Informatics Engineering
URIhttps://hdl.handle.net/1822/91569
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado
DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Sofia Guilherme Rodrigues dos Santos.pdfDissertação de mestrado3,91 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID