Teses e dissertações

Mestrado
Engenharia Informática
Título

An educational environment for code behaviour inspection

Autor
Neves, Afonso Maria Pissarra Mendonça Centeno
Resumo
pt
A programação é uma disciplina inerentemente difícil de aprender e ensinar devido à sua natureza abstrata e complexa. Alunos em cursos introdutórios de programação enfrentam regularmente desafios significativos que dificultam o seu percurso de aprendizagem desde cedo. É também comum professores manifestarem dificuldades em ajudar os alunos com os seus problemas de programação, uma vez que identificar a origem de um problema no código nem sempre é trivial. Debuggers pedagógicos têm demonstrado melhorar a experiência académica para ambos, porém, as abordagens existentes geralmente requerem uma determinada proficiência em conceitos de programação e, frequentemente, operam num ambiente separado do espaço dedicado à escrita de código. Esta dissertação apresenta um protótipo de ambiente de debugging para Java integrado no espaço de desenvolvimento de código, permitindo uma transição harmoniosa entre a escrita e inspeção comportamental do código. O ambiente permite aos utilizadores aceder a históricos de variáveis durante uma execução, consultar informação relativa a ciclos, avaliar expressões em diferentes momentos do programa (nomeadamente, condições e operações numéricas), e examinar mensagens de apoio para tratamento de erros. Além disso, o ambiente visa promover a prática de test-driven development, fornecendo uma estrutura para testes unitários integrada no sistema de debugging. Realizámos um estudo para avaliar a eficácia do protótipo no auxílio à resolução de problemas de programação. Recrutámos voluntários inexperientes na área, com o objetivo de simular a experiência de um aluno principiante. Concluímos que o protótipo se mostrou útil numa variedade de problemas que poderiam ser propostos a iniciantes em ambientes académicos.
en
Programming is an inherently difficult subject to learn and teach due to its complex and abstract nature. Students in introductory programming courses often face severe challenges which hinder their learning path at an early stage. Teachers also recurrently struggle to assist students with their coding issues, as identifying the source of a problem is not always straightforward. Pedagogical debuggers have been shown to enhance the experience for both, however, existing approaches generally require a certain level of programming expertise to be used effectively and often function in a setting separate from the coding workspace. This dissertation presents a prototype of a debugging environment for Java that is integrated with the coding area, allowing for a seamless transition between the tasks of writing and inspecting code. These inspections allow users to examine variable histories, gather information on loop iterations, evaluate expressions at different points in the code (namely, conditions and numerical operations), and examine error handling support messages. In addition, the tool aims to promote test-driven development by providing a structure for writing unit tests that are fully integrated into the debugging system. We conducted a study to evaluate the effectiveness of the prototype in assisting users in solving programming problems. For this purpose, we recruited inexperienced volunteers simulating the experience a beginner student would have when using the tool. We concluded that the prototype proved useful across a range of problems that could be presented to novice students in an academic setting.

Data

24-mar-2025

Palavras-chave

Introductory programming
Behaviour inspection
Pedagogical debugger
Programação introdutória
Inspeção de comportamento
Debugger pedagógico

Acesso

Acesso livre

Ver no repositório  
Voltar ao topo
Política de Cookies
Este portal utiliza cookies e outras tecnologias na navegação do site ...