Please use this identifier to cite or link to this item:
http://hdl.handle.net/10071/14632
Author(s): | Sousa, Hugo Silva |
Advisor: | Santos, André L. |
Date: | 2017 |
Title: | Illustrating debugger execution leveraging on variable roles |
Reference: | SOUSA, Hugo Silva- Illustrating debugger execution leveraging on variable roles [Em linha]. Lisboa: ISCTE-IUL, 2016. Dissertação de mestrado. [Consult. Dia Mês Ano] Disponível em www:<http://hdl.handle.net/10071/14632>. |
Keywords: | Engenharia da programação Programa de computador Variáveis complexas Modelos de avaliação Introductory programming Pedagogical debuggers Visualization Variable roles Introdução à programação Depuradores pedagógicos Visualização da informação Papéis das variáveis |
Abstract: | Programming is a subject in which students face many difficulties. In in
troductory courses, many of those difficulties relate to understanding algorithms.
Variable roles were proposed as an abstraction to better understand algorithms im
plemented in code. Previous research on pedagogical debuggers mitigated learning
difficulties, allowing novices to see program execution step-by-step with graphical
forms of visualization. However, existing approaches display variables uniformly
without taking into account their role in the algorithm. In order to take advantage
of variable roles in illustration, roles need to be assigned to variables. Previous
approaches either require manual role classification or rely on machine learning
with unsatisfactory performance.
We developed a component for classifying variables according to their role us
ing a set of rules that can be checked with static analysis. Leveraging variable roles
in visualization requires different concrete visual representations assigned to the
distinct roles. We conducted an exploratory study on how programming instruc
tors represent variable roles in their algorithm explanations. Finally, we developed
a debugger extension (PandionJ) that consists of a view that displays variables
with different visual representations according to their roles. This debugger view
uses the previously mentioned component to infer the roles of the variables and
uses visual components that resemble the most prominent illustrations found in
our exploratory study. A programação é uma temática na qual os alunos encontram muitas dificuldades. Em unidades curriculares de introdução à programação, várias dessas dificuldades estão relacionadas com a compreensão de algoritmos. Os papéis das variáveis são uma abstração que foi introduzida para melhorar a compreensão de algoritmos implementados em código. Outras investigações relacionadas com depuradores pedagógicos mitigaram algumas dificuldades de aprendizagem, permitindo aos iniciantes uma visualização passo-a-passo auxiliada de componentes gráficos. No entanto, as abordagens existentes representam graficamente as variáveis de forma uniforme sem distinções relativas ao seu papel no algoritmo. Para tomar vantagem dos papéis das variáveis na ilustração, os seus papéis necessitam de lhes ser atribuídos. Abordagens prévias requerem identificação manual do papel ou baseiam-se em aprendizagem automática mas com resultados pouco satisfatórios. Foi desenvolvido um componente de classificação de variáveis de acordo com o seu papel utilizando um conjunto de regras que podem ser verificadas através de análise estática. Tomar partido dos papéis das variáveis na visualização requer que existam diferentes representações visuais concretas atribuídas aos diferentes papéis. Foi conduzido um estudo exploratório para investigar como os professores de programação representam variáveis com diferentes papéis nas suas explicações algorítmicas. Por fim, foi desenvolvida uma extensão (PandionJ) de um depurador que consiste numa vista que mostra as variáveis com representações diferentes de acordo com os seus papéis. Esta vista utiliza o componente previamente mencionado para inferir o papel de cada variável a ser representada e utiliza componentes visuais semelhantes às ilustrações mais proeminentes encontradas no nosso estudo. |
Degree: | Mestrado em Engenharia Informática |
Peerreviewed: | yes |
Access type: | Restricted Access |
Appears in Collections: | T&D-DM - Dissertações de mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
illustrating-debugger-execution(3).pdf Restricted Access | 6,95 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.