Avaliação de decomposição de código através de métricas de qualidade de software
Visualizar/abrir
Data
2025Autor
Orientador
Nível acadêmico
Graduação
Outro título
Evaluation of code decompostion through software quality metrics
Assunto
Resumo
O Pensamento Computacional é uma habilidade fundamental para a resolução de problemas e a compreensão do mundo contemporâneo. Para propiciar o desenvolvimento desta habilidade na Educação Básica, o uso de ambientes de programação educativos tem crescido significativamente. Contudo, a avaliação nessas ferramentas tende a ser focada somente no resultado final da execução do programa. Essa abordagem negligencia a estrutura do código construído, falhando em abordar questões de qualidade de software ...
O Pensamento Computacional é uma habilidade fundamental para a resolução de problemas e a compreensão do mundo contemporâneo. Para propiciar o desenvolvimento desta habilidade na Educação Básica, o uso de ambientes de programação educativos tem crescido significativamente. Contudo, a avaliação nessas ferramentas tende a ser focada somente no resultado final da execução do programa. Essa abordagem negligencia a estrutura do código construído, falhando em abordar questões de qualidade de software e boas práticas de programação, fundamentais na construção da compreensão dos princípios do Pensamento Computacional. O objetivo deste trabalho é propor um método de avaliação fundamentado na análise da qualidade do software gerado, correlacionando métricas de código especificamente com a habilidade de decomposição. Para realizar essa análise, a metodologia utiliza técnicas de análise estática para a extração automática de Call Graphs. Isso permite visualizar e quantificar como o estudante decompõe o código, sem a necessidade de executar o programa. A análise realizada indicou que métricas de complexidade e tamanho das funções possuem uma relação direta com a qualidade da decomposição aplicada. Desta forma, o método permite uma análise mais efetiva e objetiva do processo de ensino e aprendizagem, servindo como uma ferramenta de apoio pedagógico para identificar dificuldades no desenvolvimento de compreensões da decomposição. ...
Abstract
Computational Thinking is a core skill for problem solving and understading of the modern world. To better allow the development of this skill in basic education, the usage of educational programming evironments has risen significantly. The evaluation in these tools, however, tends to be focused solely in the final result provided by the execution of the code. This approach overlooks the structure of the code that was built, failing to address matters of software quality and programming best pr ...
Computational Thinking is a core skill for problem solving and understading of the modern world. To better allow the development of this skill in basic education, the usage of educational programming evironments has risen significantly. The evaluation in these tools, however, tends to be focused solely in the final result provided by the execution of the code. This approach overlooks the structure of the code that was built, failing to address matters of software quality and programming best practices, which are central to the understanding of Computational Thinking principles. The goal of this work is to propose an evaluation metric based on the quality of the generated software, correlating code metrics with the decomposition skill, specifically. For this analysis, the method uses static analysis techniques to extract call graphs automatically. This allows for visualizing and quantifying how the student decomposes the code, without needing to execute the program. The analysis performed indicated that function complexity and length metrics have a direct correlation with the decomposition quality. Therefore, the method allows for more effective and objective analysis of the teaching and learning process, working as a tool for pedagogical support to identify difficulties in the understanding of code decomposition. ...
Instituição
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Curso de Ciência da Computação: Ênfase em Ciência da Computação: Bacharelado.
Coleções
-
TCC Ciência da Computação (1245)
Este item está licenciado na Creative Commons License


