Evaluating python repetition structures with novices: an eye tracking study.

Detalhes bibliográficos
Autor(a) principal: COSTA, José Júnior Silva da.
Data de Publicação: 2024
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFCG
Texto Completo: https://dspace.sti.ufcg.edu.br/handle/riufcg/37716
Resumo: Ler e compreender o código são atividades cruciais durante o processo de evolução e manutenção de software. Porém, existem vários fatores que podem afetar esse entendimento, como a forma como o código está estruturado. Iteração, Recursão e Compreensão de Lista (LC) são algumas dessas técnicas de estruturação. Entretanto, seu impacto no desempenho dos desenvolvedores tem sido pouco investigado sob a perspectiva do esforço visual com rastreamento ocular, inclusive no contexto de novatos. Portanto, este trabalho tem como objetivo realizar um estudo com rastreamento ocular para investigar o impacto dessas difer entes estruturas na compreensão de código por novatos. Portanto, foi realizado um estudo inicial controlado para resolver seis tarefas, utilizando o desenho do Quadrado Latino com 32 novatos em Python, medindo o tempo, o número de tentativas para resolver a tarefa e o esforço visual através da duração da fixação, contagem de fixação e regressões. Foi utilizada uma comparação com tarefas que possuem as seguintes estruturas: Recursão, estrutura de repetição e LC. Na Área de Interesse (AOI), em relação às métricas analisadas, foram obser vados aumentos nas versões while, Recursão e LC em relação à versão for. No número de regressões, o aumento chegou a 100% e 114,29% com LC e while, respectivamente, indicando a necessidade de retornar mais vezes no código. O aumento no tempo chegou a 95% com while. Através da análise dos padrões de leitura, na Recursão, percebeu-se maior foco de atenção no caso base e na etapa recursiva. A necessidade de uma condição de parada e contador explícito é uma hipótese para o pior desempenho com while. Houve concordâncias e discrepâncias entre os participantes entre desempenho e percepção de di ficuldade dependendo da tarefa. Em geral, a versão for exigiu menos tempo, tentativas e esforço visual, indicando melhor compreensão de algumas tarefas. Este estudo contribui principalmente para aumentar a conscientização entre educadores sobre o impacto da Re cursão, Iteração e LC na compreensão do código para iniciantes em Python.
id UFCG_e17aae46514c34bdd0cd075801b7865d
oai_identifier_str oai:dspace.sti.ufcg.edu.br:riufcg/37716
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str 4851
spelling Evaluating python repetition structures with novices: an eye tracking study.Avaliando estruturas de repetição em python com novatos: um estudo de rastreamento ocular.Engenharia de softwareCode comprehensionEye trackingRepetition structuresEngenharia de softwareCompreensão de códigoRastreamento ocularEstruturas de repetiçãoCiência da Computação.Ler e compreender o código são atividades cruciais durante o processo de evolução e manutenção de software. Porém, existem vários fatores que podem afetar esse entendimento, como a forma como o código está estruturado. Iteração, Recursão e Compreensão de Lista (LC) são algumas dessas técnicas de estruturação. Entretanto, seu impacto no desempenho dos desenvolvedores tem sido pouco investigado sob a perspectiva do esforço visual com rastreamento ocular, inclusive no contexto de novatos. Portanto, este trabalho tem como objetivo realizar um estudo com rastreamento ocular para investigar o impacto dessas difer entes estruturas na compreensão de código por novatos. Portanto, foi realizado um estudo inicial controlado para resolver seis tarefas, utilizando o desenho do Quadrado Latino com 32 novatos em Python, medindo o tempo, o número de tentativas para resolver a tarefa e o esforço visual através da duração da fixação, contagem de fixação e regressões. Foi utilizada uma comparação com tarefas que possuem as seguintes estruturas: Recursão, estrutura de repetição e LC. Na Área de Interesse (AOI), em relação às métricas analisadas, foram obser vados aumentos nas versões while, Recursão e LC em relação à versão for. No número de regressões, o aumento chegou a 100% e 114,29% com LC e while, respectivamente, indicando a necessidade de retornar mais vezes no código. O aumento no tempo chegou a 95% com while. Através da análise dos padrões de leitura, na Recursão, percebeu-se maior foco de atenção no caso base e na etapa recursiva. A necessidade de uma condição de parada e contador explícito é uma hipótese para o pior desempenho com while. Houve concordâncias e discrepâncias entre os participantes entre desempenho e percepção de di ficuldade dependendo da tarefa. Em geral, a versão for exigiu menos tempo, tentativas e esforço visual, indicando melhor compreensão de algumas tarefas. Este estudo contribui principalmente para aumentar a conscientização entre educadores sobre o impacto da Re cursão, Iteração e LC na compreensão do código para iniciantes em Python.Reading and understanding code are crucial activities during the software evolution and maintenance process. However, there are several factors that can affect this understanding, such as the way the code is structured. Iteration, Recursion and List Comprehension (LC) are some of these structuring techniques. However, its impact on developers’ performance has been little investigated from the perspective of visual effort with eye tracking, including in the context of novices. Therefore, this work aims to conduct a study with eye tracking to investigate the impact of these different structures on novices’ code understanding. There fore, an initial controlled study was conducted to solve six tasks, using the Latin Square design with 32 Python novices, measuring time, number of attempts to solve the task and visual effort through of fixation duration, fixation count and regressions. A comparison was used with tasks that have the following structures: Recursion, repetition structure and LC. In the Area of Interest (AOI), regarding the metrics analyzed, increases were observed in the while, Recursion and LC versions compared to the for version. In the number of regres sions, the increase reached 100% and 114.29% with LC and while, respectively, indicating the need to return more times in the code. The increase in time reached 95% with while. Through the analysis of reading patterns, in Recursion, greater focus of attention was noticed in the base case and in the recursive step. The need for a stop condition and explicit counter is a hypothesis for the worst performance with while. There were agreements and discrep ancies among participants between performance and perception of difficulty depending on the task. In general, the for version required less time, attempts and visual effort, indicat ing a better understanding of some tasks. This study mainly contributes to raising awareness among educators about the impact of Recursion, iteration and LC on code understanding for Python novices.CapesUniversidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGGHEYI, RohitGHEYI, R.http://lattes.cnpq.br/2931270888717344RIBEIRO , Márcio de MedeirosMACHADO, Ivan do CarmoCOSTA, José Júnior Silva da.2024-03-082024-09-09T19:10:24Z2024-09-092024-09-09T19:10:24Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttps://dspace.sti.ufcg.edu.br/handle/riufcg/37716COSTA, José Júnior Silva da. Evaluating python repetition structures with novices: an eye tracking study. 2024. 74 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, 2024.porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2025-11-18T07:03:18Zoai:dspace.sti.ufcg.edu.br:riufcg/37716Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512025-11-18T07:03:18Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv Evaluating python repetition structures with novices: an eye tracking study.
Avaliando estruturas de repetição em python com novatos: um estudo de rastreamento ocular.
title Evaluating python repetition structures with novices: an eye tracking study.
spellingShingle Evaluating python repetition structures with novices: an eye tracking study.
COSTA, José Júnior Silva da.
Engenharia de software
Code comprehension
Eye tracking
Repetition structures
Engenharia de software
Compreensão de código
Rastreamento ocular
Estruturas de repetição
Ciência da Computação.
title_short Evaluating python repetition structures with novices: an eye tracking study.
title_full Evaluating python repetition structures with novices: an eye tracking study.
title_fullStr Evaluating python repetition structures with novices: an eye tracking study.
title_full_unstemmed Evaluating python repetition structures with novices: an eye tracking study.
title_sort Evaluating python repetition structures with novices: an eye tracking study.
author COSTA, José Júnior Silva da.
author_facet COSTA, José Júnior Silva da.
author_role author
dc.contributor.none.fl_str_mv GHEYI, Rohit
GHEYI, R.
http://lattes.cnpq.br/2931270888717344
RIBEIRO , Márcio de Medeiros
MACHADO, Ivan do Carmo
dc.contributor.author.fl_str_mv COSTA, José Júnior Silva da.
dc.subject.por.fl_str_mv Engenharia de software
Code comprehension
Eye tracking
Repetition structures
Engenharia de software
Compreensão de código
Rastreamento ocular
Estruturas de repetição
Ciência da Computação.
topic Engenharia de software
Code comprehension
Eye tracking
Repetition structures
Engenharia de software
Compreensão de código
Rastreamento ocular
Estruturas de repetição
Ciência da Computação.
description Ler e compreender o código são atividades cruciais durante o processo de evolução e manutenção de software. Porém, existem vários fatores que podem afetar esse entendimento, como a forma como o código está estruturado. Iteração, Recursão e Compreensão de Lista (LC) são algumas dessas técnicas de estruturação. Entretanto, seu impacto no desempenho dos desenvolvedores tem sido pouco investigado sob a perspectiva do esforço visual com rastreamento ocular, inclusive no contexto de novatos. Portanto, este trabalho tem como objetivo realizar um estudo com rastreamento ocular para investigar o impacto dessas difer entes estruturas na compreensão de código por novatos. Portanto, foi realizado um estudo inicial controlado para resolver seis tarefas, utilizando o desenho do Quadrado Latino com 32 novatos em Python, medindo o tempo, o número de tentativas para resolver a tarefa e o esforço visual através da duração da fixação, contagem de fixação e regressões. Foi utilizada uma comparação com tarefas que possuem as seguintes estruturas: Recursão, estrutura de repetição e LC. Na Área de Interesse (AOI), em relação às métricas analisadas, foram obser vados aumentos nas versões while, Recursão e LC em relação à versão for. No número de regressões, o aumento chegou a 100% e 114,29% com LC e while, respectivamente, indicando a necessidade de retornar mais vezes no código. O aumento no tempo chegou a 95% com while. Através da análise dos padrões de leitura, na Recursão, percebeu-se maior foco de atenção no caso base e na etapa recursiva. A necessidade de uma condição de parada e contador explícito é uma hipótese para o pior desempenho com while. Houve concordâncias e discrepâncias entre os participantes entre desempenho e percepção de di ficuldade dependendo da tarefa. Em geral, a versão for exigiu menos tempo, tentativas e esforço visual, indicando melhor compreensão de algumas tarefas. Este estudo contribui principalmente para aumentar a conscientização entre educadores sobre o impacto da Re cursão, Iteração e LC na compreensão do código para iniciantes em Python.
publishDate 2024
dc.date.none.fl_str_mv 2024-03-08
2024-09-09T19:10:24Z
2024-09-09
2024-09-09T19:10:24Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://dspace.sti.ufcg.edu.br/handle/riufcg/37716
COSTA, José Júnior Silva da. Evaluating python repetition structures with novices: an eye tracking study. 2024. 74 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, 2024.
url https://dspace.sti.ufcg.edu.br/handle/riufcg/37716
identifier_str_mv COSTA, José Júnior Silva da. Evaluating python repetition structures with novices: an eye tracking study. 2024. 74 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, 2024.
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1850321202847940608