Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
Autor(a) principal: | |
---|---|
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 |