Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.

Detalhes bibliográficos
Autor(a) principal: ANDRADE, José Raul de Brito.
Data de Publicação: 2018
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFCG
Texto Completo: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12706
Resumo: As disciplinas introdutórias de programação, tipicamente, envolvem uma grande quantidade de atividades, o que torna custoso fornecer manualmente feedback para cada aluno ao longo do semestre letivo. Desse modo, são propostas diversas abordagens com intuito de prover feedback automático sobre o código dos alunos. O foco principal desses trabalhos está no feedback funcional. Isto é, se o programa está correto de acordo com testes pré-definidos pelos professores. Contudo, há também a necessidade de analisar a qualidade do código dos alunos. Embora haja esforços de pesquisa nesse sentido, as abordagens propostas se concentram na análise automatizada de aspectos sintáticos, como os critérios propostos no PEP 8, mas que podem levar a um feedback genérico. Nesta dissertação, investigamos se, ao incluir os alunos como avaliadores, poderíamos fornecer feedback personalizado (detalhado) sobre a qualidade do código-fonte. Assim, nesta dissertação, a questão principal é se os alunos podem avaliar qualitativamente os programas de seus pares. Para isso, realizamos um estudo para verificar se os alunos elaboram dicas úteis e similares aos professores da disciplina. Descobrimos que a maioria dos estudantes consegue elaborar dicas úteis e identificar problemas de qualidade similares às dos professores da disciplina em um nível significativo, mesmo que não ideal. Além disso, são particularmente hábeis em elaborar dicas sobre problemas relacionados à complexidade dos programas. Replicamos esse estudo em outro cenário e obtivemos resultados semelhantes para corroborar o que observamos. Entendendo que os estudantes conseguem elaborar dicas, conduzimos uma prática de revisão de código por pares. Descobrimos que os alunos podem ser específicos e propor alternativas para os problemas identificados. Contudo, os mais avançados na disciplina elaboram dicas mais explicativas. Por fim, aplicamos métricas de qualidade de software nos códigos antes e depois dos alunos receberam as dicas e descobrimos que houve melhoria. Verificamos que o conhecimento do aluno influencia no seu resultado, mas observamos que a experiência em prover feedback e a motivação também são fatores de impacto no desempenho. Este estudo pode levar a investigações adicionais sobre como abordar a qualidade do código na aprendizagem colaborativa e em disciplinas mais avançadas de programação.
id UFCG_5f75f5ff4a0ae86caa91e950c33f97e1
oai_identifier_str oai:localhost:riufcg/12706
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str 4851
spelling Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.Student feedback on the quality of source code to support learning to get started with programming.Ensino de programaçãoProgramming teachingProgramación docenteFeedbackEducação em computaçãoEducación informáticaComputer educationCódigo fonteSource codeCodigo fuenteCiência da ComputaçãoAs disciplinas introdutórias de programação, tipicamente, envolvem uma grande quantidade de atividades, o que torna custoso fornecer manualmente feedback para cada aluno ao longo do semestre letivo. Desse modo, são propostas diversas abordagens com intuito de prover feedback automático sobre o código dos alunos. O foco principal desses trabalhos está no feedback funcional. Isto é, se o programa está correto de acordo com testes pré-definidos pelos professores. Contudo, há também a necessidade de analisar a qualidade do código dos alunos. Embora haja esforços de pesquisa nesse sentido, as abordagens propostas se concentram na análise automatizada de aspectos sintáticos, como os critérios propostos no PEP 8, mas que podem levar a um feedback genérico. Nesta dissertação, investigamos se, ao incluir os alunos como avaliadores, poderíamos fornecer feedback personalizado (detalhado) sobre a qualidade do código-fonte. Assim, nesta dissertação, a questão principal é se os alunos podem avaliar qualitativamente os programas de seus pares. Para isso, realizamos um estudo para verificar se os alunos elaboram dicas úteis e similares aos professores da disciplina. Descobrimos que a maioria dos estudantes consegue elaborar dicas úteis e identificar problemas de qualidade similares às dos professores da disciplina em um nível significativo, mesmo que não ideal. Além disso, são particularmente hábeis em elaborar dicas sobre problemas relacionados à complexidade dos programas. Replicamos esse estudo em outro cenário e obtivemos resultados semelhantes para corroborar o que observamos. Entendendo que os estudantes conseguem elaborar dicas, conduzimos uma prática de revisão de código por pares. Descobrimos que os alunos podem ser específicos e propor alternativas para os problemas identificados. Contudo, os mais avançados na disciplina elaboram dicas mais explicativas. Por fim, aplicamos métricas de qualidade de software nos códigos antes e depois dos alunos receberam as dicas e descobrimos que houve melhoria. Verificamos que o conhecimento do aluno influencia no seu resultado, mas observamos que a experiência em prover feedback e a motivação também são fatores de impacto no desempenho. Este estudo pode levar a investigações adicionais sobre como abordar a qualidade do código na aprendizagem colaborativa e em disciplinas mais avançadas de programação.Introductory programming subjects typically involve a large number of assignments, which makes it costly to provide feedback for each student throughout the term manually. In this way, several approaches are proposed to provide automatic feedback on the solutions submitted by the students. The focus of these researches is on functional feedback. That is if the program is correct according to predefined tests by teachers. However, there is also a need to analyze the code quality produced by the students. Although there are research efforts in this direction, the proposed approaches focus on the automated analysis of syntactic aspects, such as the criteria proposed in the PEP 8, but which can lead to general feedback. In this study, we investigated whether, by including students as reviewers, we could provide personalized feedback on the code quality. Thus, in this dissertation, the central question is whether students can qualitatively evaluate the program of your pairs. For this, we carried out a study to verify if the students’ hints are useful and similar to those of the teachers of the subject. We found that most students can identify code quality issues related to the teachers at a significant level, even if not ideal. We have also seen that students can give meaningful hints at a considerable level, and are particularly able at finding and giving hints on issues related to programs complexity. We replicated this study in another context and obtained similar results to corroborate what we observed. After we found that students can give hints, we conducted a peer code review experiment. We found that students can be specific and propose alternatives to issues identified. However, most advanced students of the subject can give more explanatory hints. Finally, we applied quality metrics in the codes before and after the feedback and found that there was an improvement, but we did not get enough data to affirm that it was significant statistically. We verified that the student’s knowledge influences in its result. However, we observed that experience in providing feedback and the motivation are also performance-impacting factors. This study may lead to further research on how to approach the code quality in collaborative learning and more advanced programming courses.CapesUniversidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGMONTEIRO, João Arthur Brunet.BRUNET, J. A. M.http://lattes.cnpq.br/7892247821251194FIGUEIREDO, Jorge Cesar Abrantes de.GUERRERO, Dalton Dario Serey.MACHADO, Liliane Dos Santos.ANDRADE, José Raul de Brito.2018-10-262020-04-07T17:32:42Z2020-04-072020-04-07T17:32:42Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12706ANDRADE, J. R. de B. Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação. 2018. 77 f. Dissertação (Mestrado em Sistemas e Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2018. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12706porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-03-28T20:32:29Zoai:localhost:riufcg/12706Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-03-28T20:32:29Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
Student feedback on the quality of source code to support learning to get started with programming.
title Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
spellingShingle Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
ANDRADE, José Raul de Brito.
Ensino de programação
Programming teaching
Programación docente
Feedback
Educação em computação
Educación informática
Computer education
Código fonte
Source code
Codigo fuente
Ciência da Computação
title_short Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
title_full Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
title_fullStr Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
title_full_unstemmed Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
title_sort Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
author ANDRADE, José Raul de Brito.
author_facet ANDRADE, José Raul de Brito.
author_role author
dc.contributor.none.fl_str_mv MONTEIRO, João Arthur Brunet.
BRUNET, J. A. M.
http://lattes.cnpq.br/7892247821251194
FIGUEIREDO, Jorge Cesar Abrantes de.
GUERRERO, Dalton Dario Serey.
MACHADO, Liliane Dos Santos.
dc.contributor.author.fl_str_mv ANDRADE, José Raul de Brito.
dc.subject.por.fl_str_mv Ensino de programação
Programming teaching
Programación docente
Feedback
Educação em computação
Educación informática
Computer education
Código fonte
Source code
Codigo fuente
Ciência da Computação
topic Ensino de programação
Programming teaching
Programación docente
Feedback
Educação em computação
Educación informática
Computer education
Código fonte
Source code
Codigo fuente
Ciência da Computação
description As disciplinas introdutórias de programação, tipicamente, envolvem uma grande quantidade de atividades, o que torna custoso fornecer manualmente feedback para cada aluno ao longo do semestre letivo. Desse modo, são propostas diversas abordagens com intuito de prover feedback automático sobre o código dos alunos. O foco principal desses trabalhos está no feedback funcional. Isto é, se o programa está correto de acordo com testes pré-definidos pelos professores. Contudo, há também a necessidade de analisar a qualidade do código dos alunos. Embora haja esforços de pesquisa nesse sentido, as abordagens propostas se concentram na análise automatizada de aspectos sintáticos, como os critérios propostos no PEP 8, mas que podem levar a um feedback genérico. Nesta dissertação, investigamos se, ao incluir os alunos como avaliadores, poderíamos fornecer feedback personalizado (detalhado) sobre a qualidade do código-fonte. Assim, nesta dissertação, a questão principal é se os alunos podem avaliar qualitativamente os programas de seus pares. Para isso, realizamos um estudo para verificar se os alunos elaboram dicas úteis e similares aos professores da disciplina. Descobrimos que a maioria dos estudantes consegue elaborar dicas úteis e identificar problemas de qualidade similares às dos professores da disciplina em um nível significativo, mesmo que não ideal. Além disso, são particularmente hábeis em elaborar dicas sobre problemas relacionados à complexidade dos programas. Replicamos esse estudo em outro cenário e obtivemos resultados semelhantes para corroborar o que observamos. Entendendo que os estudantes conseguem elaborar dicas, conduzimos uma prática de revisão de código por pares. Descobrimos que os alunos podem ser específicos e propor alternativas para os problemas identificados. Contudo, os mais avançados na disciplina elaboram dicas mais explicativas. Por fim, aplicamos métricas de qualidade de software nos códigos antes e depois dos alunos receberam as dicas e descobrimos que houve melhoria. Verificamos que o conhecimento do aluno influencia no seu resultado, mas observamos que a experiência em prover feedback e a motivação também são fatores de impacto no desempenho. Este estudo pode levar a investigações adicionais sobre como abordar a qualidade do código na aprendizagem colaborativa e em disciplinas mais avançadas de programação.
publishDate 2018
dc.date.none.fl_str_mv 2018-10-26
2020-04-07T17:32:42Z
2020-04-07
2020-04-07T17:32:42Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12706
ANDRADE, J. R. de B. Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação. 2018. 77 f. Dissertação (Mestrado em Sistemas e Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2018. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12706
url http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12706
identifier_str_mv ANDRADE, J. R. de B. Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação. 2018. 77 f. Dissertação (Mestrado em Sistemas e Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2018. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12706
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.publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1809744442833240064