Skip navigation
Por favor, use este identificador para citar o enlazar este ítem: https://repositorio.ufpe.br/handle/123456789/39283

Comparte esta pagina

Registro completo de metadatos
Campo DC Valor Lengua/Idioma
dc.contributor.advisorTEIXEIRA, Leopoldo Motta-
dc.contributor.authorMORAES, Pedro Henrique Sousa de-
dc.date.accessioned2021-02-23T18:37:35Z-
dc.date.available2021-02-23T18:37:35Z-
dc.date.issued2020-10-29-
dc.identifier.citationMORAES, Pedro Henrique Sousa de. Willow: a tool for interactive data structures and algorithms visualization. 2020. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2020.pt_BR
dc.identifier.urihttps://repositorio.ufpe.br/handle/123456789/39283-
dc.description.abstractTeaching Introductory Programming and Data Structures and Algorithms is an important part of Information Technology courses. Both disciplines include essential concepts for software development. Preparing lessons for these courses can be time demanding and tedious as instructors often need to create and modify examples using slides and sketches on a board. Students may also have difficulties due to the high level of abstraction of the content taught in both courses. Educational visualization tools, such as Python Tutor exist, but they provide rigid choices of visualization schemes used to represent the data. Most educational tools are discontinued or have limited support to the visualization of data structures and algorithms. Other tools create visualizations of several algorithms, but lack the ability to edit the source code or inputs. This work proposes Willow, a web-based interactive tool to visualize program state. Willow enables the user to customize visualizations and to walk through the code in both directions to facilitate code understanding. The sensible features of Willow are its ability to change data representations, jump to any point of a program with visual support during debug sessions, and detection and animation of common data structures such as lists and trees. To evaluate Willow, we conducted two studies, a survey with instructors of several universities, and a follow up experiment with programmers of a freelancing platform. We obtained positive feedback from 91% of the survey participants, suggesting that Willow can be used as an teaching aid tool by instructors. In the follow up experiment with programmers, we could not find significant difference between participants that used Willow and participants that did not, the results of the experiment were not conclusive. Nevertheless, we obtained positive results after considering a subset of the experiment tasks, participants also reacted positively to the tool and many would like to use it again.pt_BR
dc.description.sponsorshipFACEPEpt_BR
dc.language.isoengpt_BR
dc.publisherUniversidade Federal de Pernambucopt_BR
dc.rightsopenAccesspt_BR
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectEngenharia de softwarept_BR
dc.subjectLinguagem de programaçãopt_BR
dc.titleWillow : a tool for interactive data structures and algorithms visualizationpt_BR
dc.typemasterThesispt_BR
dc.contributor.authorLatteshttp://lattes.cnpq.br/9687250553729712pt_BR
dc.publisher.initialsUFPEpt_BR
dc.publisher.countryBrasilpt_BR
dc.degree.levelmestradopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/2117651910340729pt_BR
dc.publisher.programPrograma de Pos Graduacao em Ciencia da Computacaopt_BR
dc.description.abstractxO ensino de Introdução a Programação, e Algoritmos e Estruturas de Dados é parte importante da formação de alunos em cursos de computação. Ambas as disciplinas incluem conceitos essenciais para o desenvolvimento de software. No entanto, preparar as aulas para esses cursos pode ser demorado e tedioso, pois os professores geralmente precisam criar ou modificar exemplos de algoritmos executando passo a passo, usando apresentações de slides ou esboços em um quadro. Os alunos também podem ter dificuldades, devido ao alto nível de abstração do conteúdo ministrado em ambos os cursos. Existem ferramentas de visualização educacionais, como o Python Tutor, mas essas ferramentas fornecem visualizações rígidas de esquemas usados para representar os dados. Várias ferramentas educacionais foram descontinuadas ou tem suporte limitado à visualização de estruturas de dados e algoritmos. Outras ferramentas criam visualizações de vários algoritmos, mas não têm a capacidade de editar o código-fonte ou entradas. Este trabalho propõe Willow, uma ferramenta interativa baseada em tecnologias web para visualizar o estado de programas. Willow permite que o usuário personalize visualizações e navegue pelo código em ambas as direções para facilitar a sua compreensão. As principais características de Willow são sua capacidade de alterar representações de dados, saltar para qualquer ponto de um programa com suporte visual durante as sessões de depuração, e detecção e animação de estruturas de dados comuns, como listas e árvores. Para avaliação de Willow, realizamos dois estudos, um survey com professores de várias universidades, seguido de um experimento com programadores de uma plataforma de freelancers para resolução de problemas com e sem Willow. Obtivemos feedback positivo de 91% dos participantes do survey, que sugere que Willow pode ser usado como uma ferramenta de auxílio no ensino pelos professores. Com relação ao estudo com programadores, não foi encontrada diferença significativa nas respostas entre participantes que usaram Willow e participantes que não usaram. Contudo, foram obtidos resultados positivos ao considerar um subconjunto das tarefas do experimento, participantes também reagiram positivamente à ferramenta e muitos gostariam de usa-la novamente.pt_BR
Aparece en las colecciones: Dissertações de Mestrado - Ciência da Computação

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
DISSERTAÇÃO Pedro Henrique Sousa de Moraes.pdf4,48 MBAdobe PDFVista previa
Visualizar/Abrir


Este ítem está protegido por copyright original



Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons Creative Commons