Utilize este identificador para referenciar este registo:
http://hdl.handle.net/10071/22052
Autoria: | Alfredo, Francisco Miguel da Anunciação |
Orientação: | Santos, André Leal Garrido, Nuno Miguel de Figueiredo |
Data: | 11-Dez-2020 |
Título próprio: | Avaliador pedagógico da qualidade de código |
Referência bibliográfica: | Alfredo, F. M. da A. (2020). Avaliador pedagógico da qualidade de código [Dissertação de mestrado, Iscte - Instituto Universitário de Lisboa]. Repositório Iscte. http://hdl.handle.net/10071/22052 |
Palavras-chave: | Introductory programming Code quality issues Pedagogical tool Introdução à programação Problemas de qualidade de código Ferramenta pedagógica |
Resumo: | When it comes to learning how to program, during introductory programming courses, students tend
to form misconceptions regarding certain code aspects, that they aren’t aware of. These
misconceptions can result in code quality issues, which don’t affect a program execution, but are
considered bad practices and should be avoided. Most often, they will stay unaware of such issues
until an intervention is made, by a third-party agent, such as a professor. There are already a few tools
that focus on this type of issues, by highlighting the code quality issues and supplying a quick fix for
them. This approach, while effective, isn’t ideal for beginners, since providing a solution without
explaining the problem, won’t make the student understand why the code that was written is
considered a bad practice.
With this being said, a pedagogical tool was developed. This tool uses static analysis in order to
apply some code quality issues detectors to the student’s codebase, and focus on highlighting the
issues, while explaining why they are considered to be wrong and therefore, why they should be
avoided.
After the development of the tool was done, a study where a batch of projects from the previous
year’s course were subjected to the tool, in order to find out how often can these code quality issues
be found in the student’s codebase, and which code issues are the most popular amongst
unexperienced programming beginners. Durante a aprendizagem de programação, os alunos têm tendência a formar ideias erradas sobre os papeis de certas estruturas de código, envolvidas nos programas que os mesmos escrevem. Embora estas estruturas não contribuam para o mau funcionamento dos programas que são escritos, contêm muitas vezes alguns problemas de qualidade de código, considerados más práticas no mundo da programação. Devido à inexperiência por parte dos alunos, estes nem se apercebem que adotaram tais más práticas, tornando-se necessária a intervenção de um terceiro agente, como um professor, para que as mesmas sejam combatidas. Existem algumas ferramentas que abordam este problema, sendo estas focadas na vertente profissional, apenas identificando e oferecendo uma resolução rápida para estes problemas, sem tentar fazer com que o sujeito perceba o porquê de ter cometido tal erro, sendo que esta solução não é ideal para os principiantes da programação. Posto isto, foi desenvolvida uma ferramenta pedagógica, que usa análise estática de maneira a aplicar alguns detetores de problemas de qualidade de código, no código que é escrito pelos alunos, de maneira a identificar e alertar os principiantes para estes problemas, fornecendo uma explicação pedagógica sobre o porquê de tal má prática ser considerada prejudicial à aprendizagem. Após a ferramenta ter sido desenvolvida, realizou-se um estudo onde um conjunto de projetos de semestres passados foram recolhidos e processados pela ferramenta, de maneira a descobrir o quão frequente é possível encontrar estes problemas no código escrito pelos alunos, e que tipos de erros são mais comuns entre os alunos. |
Designação do grau: | Mestrado em Engenharia de Telecomunicações e Informática |
Arbitragem científica: | yes |
Acesso: | Acesso Aberto |
Aparece nas coleções: | T&D-DM - Dissertações de mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
master_francisco_anunciacao_alfredo.pdf | 28,02 MB | Adobe PDF | Ver/Abrir |
Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.