Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/31565
Title: Investigando o uso de testes para apoiar a resolução de problemas de programação.
Other Titles: Investigating the use of tests to support programming problem solving.
???metadata.dc.creator???: ALMEIDA, André.
???metadata.dc.contributor.advisor1???: ARAÚJO, Eliane Cristina de.
???metadata.dc.contributor.advisor2???: FIGUEREDO, Jorge César Abrantes de.
???metadata.dc.contributor.referee1???: LIRA, Melina Mongiovi Brito.
???metadata.dc.contributor.referee2???: SCAICO, Pasqueline Dantas.
Keywords: Resolução de problemas;Especificação de problemas;Testes;Avaliação automatizada;Feedback;Programação;Problem solving;Problem specification;Testing;Automated assessment;Feedback;Programming;Resolución de problemas;Especificación de problemas;Pruebas;Comentarios;Programación;Evaluación automatizada;Dépannage;Spécification du problème;Tests;Évaluation automatisée;Retour d'expérience;Programmation
Issue Date: 6-Apr-2023
Publisher: Universidade Federal de Campina Grande
Citation: ALMEIDA, André. Investigando o uso de testes para apoiar a resolução de problemas de programação. 2023. 72 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2023.
???metadata.dc.description.resumo???: Os cursos introdutórios de programação desenvolvem esta habilidade através da resolução de diversos exercícios relacionados aos conceitos apresentados, os quais atuam também como forma de avaliar o desempenho dos alunos. No entanto, antes de produzir o programa o aluno precisa compreender o que é requerido pelo enunciado do exercício. É necessário entender a especificação como primeiro passo para a efetiva resolução de problemas de programação. Neste contexto, o objetivo desta pesquisa de mestrado é investigar a efetividade de uma estratégia baseada em testes para melhor esclarecer a especificação do problema e, com isso, favorecer a sua correta resolução. Iniciamos a pesquisa realizando um mapeamento dos tipos de erro identificados em exercícios de programação, com o objetivo de investigar se os testes automatizados associados capturam falhas na compreensão dos problemas. Com a análise dos dados foi possível perceber que cerca de 80% dos erros cometidos estão relacionados a dificuldade no entendimento ou falsas suposições levantadas com base nos enunciados dos exercícios. Desta forma, percebendo que os testes automatizados buscam capturar minuciosamente determinados cenários especificados nos enunciados dos exercícios, de maneira a verificar se o aluno os compreendeu em sua totalidade, este estudo preliminar denota a estratégia baseada em testes como sendo promissora. Sendo assim, criamos o oráculo para aplicar a abordagem e permitir que os alunos interajam com a solução de referência através de testes, perguntando se a entrada de um problema corresponde com a saída. No estudo principal, realizamos a análise comparativa entre o oráculo e outras estratégias de resolução de problemas com base em métricas associadas a sistemas de avaliação automatizada. Os resultados evidenciam uma melhora significativa no desempenho dos alunos, reduzindo o tempo para traçar a solução correta, que foi menor em 65% dos casos; e também o número de submissões ao sistema utilizado, que foi menor em 68% dos casos. Com estes efeitos somados ao feedback positivo dos alunos participantes, apontamos a estratégia como sendo eficaz na resolução de problemas de programação.
Abstract: The introductory programming courses develop this skill through the resolution of several exercises related to the presented concepts, which also act as a way of evaluating the students’ performance. However, before producing the program, the student needs to understand what is required by the statement of the exercise. It is necessary to understand the specification as a first step for the effective resolution of programming problems. In this context, the objective of this master’s research is to investigate the effectiveness of a test-based strategy to better clarify the specification of the problem and, therefore, favor its correct resolution. We started the research by mapping the types of errors identified in programming exercises, with the aim of investigating whether the associated automated tests capture failures in understanding the problems. With the analysis of the data, it was possible to perceive that about 80% of the errors committed are related to difficulty in understanding or false assumptions raised based on the statements of the exercises. In this way, realizing that the automated tests seek to capture in detail certain scenarios specified in the statements of the exercises, in order to verify if the student understood them in their entirety, this preliminary study denotes the strategy based on tests as being promising. Therefore, we created the oracle to apply the approach and allow students to interact with the reference solution through tests, asking if the input of a problem corresponds with the output. In the main study, we performed a comparative analysis between the oracle and other problem solving strategies based on metrics associated with automated evaluation systems. The results show a significant improvement in the students’ performance, reducing the time to draw the correct solution, which was shorter in 65% of the cases; and also the number of submissions to the system used, which was lower in 68% of cases. With these effects added to the positive feedback of the participating students, we point out the strategy as being effective in solving programming problems.
Keywords: Resolução de problemas
Especificação de problemas
Testes
Avaliação automatizada
Feedback
Programação
Problem solving
Problem specification
Testing
Automated assessment
Feedback
Programming
Resolución de problemas
Especificación de problemas
Pruebas
Comentarios
Programación
Evaluación automatizada
Dépannage
Spécification du problème
Tests
Évaluation automatisée
Retour d'expérience
Programmation
???metadata.dc.subject.cnpq???: Ciência da computação.
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/31565
Appears in Collections:Mestrado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
ANDRÉ ALMEIDA – DISSERTAÇÃO (PPGCC) 2023.pdf2.1 MBAdobe PDFView/Open


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