Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12706
Title: Feedback dos alunos sobre a qualidade de código-fonte para apoiar o aprendizado de introdução à programação.
Other Titles: Student feedback on the quality of source code to support learning to get started with programming.
???metadata.dc.creator???: ANDRADE, José Raul de Brito.
???metadata.dc.contributor.advisor1???: MONTEIRO, João Arthur Brunet.
???metadata.dc.contributor.referee1???: FIGUEIREDO, Jorge Cesar Abrantes de.
???metadata.dc.contributor.referee2???: GUERRERO, Dalton Dario Serey.
???metadata.dc.contributor.referee3???: MACHADO, Liliane Dos Santos.
Keywords: 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
Issue Date: 26-Oct-2018
Publisher: Universidade Federal de Campina Grande
Citation: 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
???metadata.dc.description.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.
Abstract: 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.
Keywords: 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
???metadata.dc.subject.cnpq???: Ciência da Computação
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12706
Appears in Collections:Mestrado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
JOSÉ RAUL DE BRITO ANDRADE - DISSERTAÇÃO (PPGCC) 2019.pdfJosé Raul de Brito Andrade - Dissertação PPGCC 20181.56 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.