Use este identificador para citar ou linkar para este item:
https://ri.ufs.br/jspui/handle/riufs/18453
Tipo de Documento: | Monografia |
Título: | Uma abordagem para pontuação de exercícios de programação baseada em análise estática de código |
Autor(es): | Vieira, Victor Souza |
Data do documento: | 12-Set-2022 |
Orientador: | Costa Neto, Alberto |
Resumo: | Com o aumento massivo de estudantes em cursos introdutórios de computação ocorrendo nas últimas décadas, o trabalho dos professores para corrigir seus execícios aumentou significativamente. Com a criação dos analisadores automáticos de código-fonte tornou-se possível avaliar e analisar códigos-fonte de forma estática, dinâmica e híbrida (utiliza tanto análise estática quanto dinâmica). Juízes Online avaliam se, durante a execução do código-fonte, todos os casos de teste foram ou não aprovados. Caso aprovados, o exercício recebe nota máxima e, caso contrário, nota mínima. Desta forma, podem ser enquadrados como analisadores dinâmicos de código. Esta abordagem muitas das vezes acaba frustrando os alunos iniciantes, pois apenas é avaliado o resultado final do programa, isto é, sem considerar a qualidade da solução. Além disso, os professores precisam avaliar manualmente o código-fonte para identificar situações em que deveria alertar o aluno de má qualidade do seu código-fonte. Como solução, para que haja uma melhor avaliação destes estudantes, é proposta uma ferramenta baseada em análise estática de código, para a linguagem de programação Python, que pontua, com base em regras que podem ser definidas pelo professor, o código escrito pelos alunos, dando assim um melhor feedback para o resultado da avaliação. |
Abstract: | With the massive increase of students in introductory computing courses taking place in recent decades, the work of teachers to correct their exercises has increased significantly. With the creation of automatic source code analyzers, it became possible to evaluate and analyze source code in a static, dynamic and hybrid way (it uses both static analysis and as dynamic). Online judges assess whether, during source code execution, all test cases pass or fail. If approved, the exercise is rated as a maximum grade and, if not, a minimum grade. In this way, they can be classified as dynamic code analyzers. This approach often ends up frustrating beginner students, as only the final result of the program is evaluated, that is, without considering the quality of the solution. In addition, teachers need to manually evaluate the source code to identify situations where they should alert the student of poor quality of their source code. As a solution, so that there is a better evaluation of these students, a tool based on static code analysis is proposed for the Python programming language, which scores, based on rules that can be defined by the teacher, the code written by the students, thus giving better feedback for the evaluation result. |
Palavras-chave: | Ciência da computação Ensino superior (UFS) Análise estática Linguagem de programação Python Código-fonte Static analysis Python programming language Source code |
área CNPQ: | CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::LINGUAGENS DE PROGRAMACAO |
Idioma: | por |
Sigla da Instituição: | Universidade Federal de Sergipe (UFS) |
Departamento: | DCOMP - Departamento de Computação – Ciência da Computação – São Cristóvão - Presencial |
Citação: | VIEIRA, Victor Souza. Uma abordagem para pontuação de exercícios de programação baseada em análise estática de código. São Cristóvão, 2022. Monografia (graduação em Ciência da Computação) – Departamento de Computação, Centro de Ciências Exatas e Tecnologia, Universidade Federal de Sergipe, São Cristóvão, SE, 2022 |
URI: | https://ri.ufs.br/jspui/handle/riufs/18453 |
Aparece nas coleções: | Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Victor_Souza_Vieira.pdf | 1,24 MB | Adobe PDF | ![]() Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.