Utilize este identificador para referenciar este registo: http://hdl.handle.net/10071/14632
Autoria: Sousa, Hugo Silva
Orientação: Santos, André L.
Data: 2017
Título próprio: Illustrating debugger execution leveraging on variable roles
Referência bibliográfica: 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>.
Palavras-chave: 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
Resumo: 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.
Designação do grau: Mestrado em Engenharia Informática
Arbitragem científica: yes
Acesso: Acesso Restrito
Aparece nas coleções:T&D-DM - Dissertações de mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
illustrating-debugger-execution(3).pdf
  Restricted Access
6,95 MBAdobe PDFVer/Abrir Request a copy


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpaceOrkut
Formato BibTex mendeley Endnote Logotipo do DeGóis Logotipo do Orcid 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.