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

Detalhes bibliográficos
Ano de defesa: 2024
Autor(a) principal: COSTA, José Júnior Silva da.
Orientador(a): GHEYI, Rohit lattes
Banca de defesa: RIBEIRO , Márcio de Medeiros, MACHADO, Ivan do Carmo
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Programa de Pós-Graduação: PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Departamento: Centro de Engenharia Elétrica e Informática - CEEI
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: 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
spelling GHEYI, RohitGHEYI, R.http://lattes.cnpq.br/2931270888717344RIBEIRO , Márcio de MedeirosMACHADO, Ivan do CarmoCOSTA, José Júnior Silva da.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.Submitted by Michelle Lima (michelle.lima@ufcg.edu.br) on 2024-09-09T19:10:24Z No. of bitstreams: 1 JOSÉ JÚNIOR SILVA DA COSTA - DISSERTAÇÃO (PPGCC) 2024.pdf: 11458871 bytes, checksum: 8caa461f4cc3a462ff9c16a0debb53be (MD5)Made available in DSpace on 2024-09-09T19:10:24Z (GMT). No. of bitstreams: 1 JOSÉ JÚNIOR SILVA DA COSTA - DISSERTAÇÃO (PPGCC) 2024.pdf: 11458871 bytes, checksum: 8caa461f4cc3a462ff9c16a0debb53be (MD5) Previous issue date: 2024-03-08CapesUniversidade Federal de Campina GrandePÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBrasilCentro de Engenharia Elétrica e Informática - CEEICiência da Computação.Engenharia de softwareCode comprehensionEye trackingRepetition structuresEngenharia de softwareCompreensão de códigoRastreamento ocularEstruturas de repetiçãoEvaluating python repetition structures with novices: an eye tracking study.Avaliando estruturas de repetição em python com novatos: um estudo de rastreamento ocular.2024-03-082024-09-09T19:10:24Z2024-09-092024-09-09T19:10:24Zhttps://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.info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCGTEXTJOSÉ JÚNIOR SILVA DA COSTA - DISSERTAÇÃO (PPGCC) 2024.pdf.txtJOSÉ JÚNIOR SILVA DA COSTA - DISSERTAÇÃO (PPGCC) 2024.pdf.txttext/plain148300https://dspace.sti.ufcg.edu.br/bitstream/riufcg/37716/3/JOS%C3%89+J%C3%9ANIOR+SILVA+DA+COSTA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2024.pdf.txtc1df854ce653a0403d7524699eeaa526MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://dspace.sti.ufcg.edu.br/bitstream/riufcg/37716/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52ORIGINALJOSÉ JÚNIOR SILVA DA COSTA - DISSERTAÇÃO (PPGCC) 2024.pdfJOSÉ JÚNIOR SILVA DA COSTA - DISSERTAÇÃO (PPGCC) 2024.pdfapplication/pdf11458871https://dspace.sti.ufcg.edu.br/bitstream/riufcg/37716/1/JOS%C3%89+J%C3%9ANIOR+SILVA+DA+COSTA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2024.pdf8caa461f4cc3a462ff9c16a0debb53beMD51riufcg/377162025-11-18 04:03:18.392oai:dspace.sti.ufcg.edu.br:riufcg/37716Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Biblioteca 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.pt_BR.fl_str_mv Evaluating python repetition structures with novices: an eye tracking study.
dc.title.alternative.pt_BR.fl_str_mv 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.
Ciência da Computação.
Engenharia de software
Code comprehension
Eye tracking
Repetition structures
Engenharia de software
Compreensão de código
Rastreamento ocular
Estruturas de repetiçã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.advisor1.fl_str_mv GHEYI, Rohit
dc.contributor.advisor1ID.fl_str_mv GHEYI, R.
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/2931270888717344
dc.contributor.referee1.fl_str_mv RIBEIRO , Márcio de Medeiros
dc.contributor.referee2.fl_str_mv MACHADO, Ivan do Carmo
dc.contributor.author.fl_str_mv COSTA, José Júnior Silva da.
contributor_str_mv GHEYI, Rohit
RIBEIRO , Márcio de Medeiros
MACHADO, Ivan do Carmo
dc.subject.cnpq.fl_str_mv Ciência da Computação.
topic Ciência da Computação.
Engenharia de software
Code comprehension
Eye tracking
Repetition structures
Engenharia de software
Compreensão de código
Rastreamento ocular
Estruturas de repetição
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
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.issued.fl_str_mv 2024-03-08
dc.date.accessioned.fl_str_mv 2024-09-09T19:10:24Z
dc.date.available.fl_str_mv 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
dc.identifier.citation.fl_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.
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
dc.publisher.program.fl_str_mv PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFCG
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Centro de Engenharia Elétrica e Informática - CEEI
publisher.none.fl_str_mv Universidade Federal de Campina Grande
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
bitstream.url.fl_str_mv https://dspace.sti.ufcg.edu.br/bitstream/riufcg/37716/3/JOS%C3%89+J%C3%9ANIOR+SILVA+DA+COSTA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2024.pdf.txt
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/37716/2/license.txt
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/37716/1/JOS%C3%89+J%C3%9ANIOR+SILVA+DA+COSTA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2024.pdf
bitstream.checksum.fl_str_mv c1df854ce653a0403d7524699eeaa526
8a4605be74aa9ea9d79846c1fba20a33
8caa461f4cc3a462ff9c16a0debb53be
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
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_ 1863363556461772800