Avaliador pedagógico da qualidade de código

Detalhes bibliográficos
Autor(a) principal: Alfredo, Francisco Miguel da Anunciação
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10071/22052
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.
id RCAP_42cfca2e8d2af46102aab8d7af3935d3
oai_identifier_str oai:repositorio.iscte-iul.pt:10071/22052
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Avaliador pedagógico da qualidade de códigoIntroductory programmingCode quality issuesPedagogical toolIntrodução à programaçãoProblemas de qualidade de códigoFerramenta pedagógicaWhen 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.2021-02-17T17:17:23Z2020-12-11T00:00:00Z2020-12-112020-10info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10071/22052TID:202627284porAlfredo, Francisco Miguel da Anunciaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-09T17:45:01Zoai:repositorio.iscte-iul.pt:10071/22052Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T22:21:25.943379Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Avaliador pedagógico da qualidade de código
title Avaliador pedagógico da qualidade de código
spellingShingle Avaliador pedagógico da qualidade de código
Alfredo, Francisco Miguel da Anunciação
Introductory programming
Code quality issues
Pedagogical tool
Introdução à programação
Problemas de qualidade de código
Ferramenta pedagógica
title_short Avaliador pedagógico da qualidade de código
title_full Avaliador pedagógico da qualidade de código
title_fullStr Avaliador pedagógico da qualidade de código
title_full_unstemmed Avaliador pedagógico da qualidade de código
title_sort Avaliador pedagógico da qualidade de código
author Alfredo, Francisco Miguel da Anunciação
author_facet Alfredo, Francisco Miguel da Anunciação
author_role author
dc.contributor.author.fl_str_mv Alfredo, Francisco Miguel da Anunciação
dc.subject.por.fl_str_mv Introductory programming
Code quality issues
Pedagogical tool
Introdução à programação
Problemas de qualidade de código
Ferramenta pedagógica
topic Introductory programming
Code quality issues
Pedagogical tool
Introdução à programação
Problemas de qualidade de código
Ferramenta pedagógica
description 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.
publishDate 2020
dc.date.none.fl_str_mv 2020-12-11T00:00:00Z
2020-12-11
2020-10
2021-02-17T17:17:23Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10071/22052
TID:202627284
url http://hdl.handle.net/10071/22052
identifier_str_mv TID:202627284
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799134775554867200