Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/31565
Full metadata record
DC FieldValueLanguage
dc.creator.IDALMEIDA, A.pt_BR
dc.creator.Latteshttp://lattes.cnpq.br/3812670908777878pt_BR
dc.contributor.advisor1ARAÚJO, Eliane Cristina de.-
dc.contributor.advisor1IDARAUJO, E. C.pt_BR
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/8032715047993974pt_BR
dc.contributor.advisor2FIGUEREDO, Jorge César Abrantes de.-
dc.contributor.advisor2IDFIGUEIREDO, J. C. A.pt_BR
dc.contributor.advisor2Latteshttp://lattes.cnpq.br/1424808046858622pt_BR
dc.contributor.referee1LIRA, Melina Mongiovi Brito.-
dc.contributor.referee2SCAICO, Pasqueline Dantas.-
dc.description.resumoOs 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.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentCentro de Engenharia Elétrica e Informática - CEEIpt_BR
dc.publisher.programPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOpt_BR
dc.publisher.initialsUFCGpt_BR
dc.subject.cnpqCiência da computação.pt_BR
dc.titleInvestigando o uso de testes para apoiar a resolução de problemas de programação.pt_BR
dc.date.issued2023-04-06-
dc.description.abstractThe 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.pt_BR
dc.identifier.urihttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/31565-
dc.date.accessioned2023-08-22T18:11:15Z-
dc.date.available2023-08-22-
dc.date.available2023-08-22T18:11:15Z-
dc.typeDissertaçãopt_BR
dc.subjectResolução de problemaspt_BR
dc.subjectEspecificação de problemaspt_BR
dc.subjectTestespt_BR
dc.subjectAvaliação automatizadapt_BR
dc.subjectFeedbackpt_BR
dc.subjectProgramaçãopt_BR
dc.subjectProblem solvingpt_BR
dc.subjectProblem specificationpt_BR
dc.subjectTestingpt_BR
dc.subjectAutomated assessmentpt_BR
dc.subjectFeedbackpt_BR
dc.subjectProgrammingpt_BR
dc.subjectResolución de problemaspt_BR
dc.subjectEspecificación de problemaspt_BR
dc.subjectPruebaspt_BR
dc.subjectComentariospt_BR
dc.subjectProgramaciónpt_BR
dc.subjectEvaluación automatizadapt_BR
dc.subjectDépannagept_BR
dc.subjectSpécification du problèmept_BR
dc.subjectTestspt_BR
dc.subjectÉvaluation automatiséept_BR
dc.subjectRetour d'expériencept_BR
dc.subjectProgrammationpt_BR
dc.rightsAcesso Abertopt_BR
dc.creatorALMEIDA, André.-
dc.publisherUniversidade Federal de Campina Grandept_BR
dc.languageporpt_BR
dc.title.alternativeInvestigating the use of tests to support programming problem solving.pt_BR
dc.description.sponsorshipCNPqpt_BR
dc.identifier.citationALMEIDA, 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.pt_BR
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.