DSpace/Manakin Repository

Automatização de feedback para apoiar o aprendizado no processo de resolução de problemas de programação.

Mostrar registro simples

dc.creator.ID ARAUJO, E. C. pt_BR
dc.creator.Lattes http://lattes.cnpq.br/8032715047993974 pt_BR
dc.contributor.advisor1 GUERRERO, Dalton Dario Serey.
dc.contributor.advisor1ID GUERRERO, D. D. S. pt_BR
dc.contributor.advisor1Lattes http://lattes.cnpq.br/2050632960242405 pt_BR
dc.contributor.advisor2 FIGUEIREDO, Jorge Cesar Abrantes de.
dc.contributor.advisor2ID FIGUEIREDO, J. C. A. pt_BR
dc.contributor.advisor2Lattes http://lattes.cnpq.br/1424808046858622 pt_BR
dc.description.resumo No ensino de programação, é fundamental que os estudantes realizem atividades práticas. Para que sejam bem sucedidos nessas atividades, os professores devem guiá-los, especialmente os iniciantes, ao longo do processo de programação. Consideramos que o processo de programação, no contexto do ensino desta prática, engloba as atividades necessárias para resolver um problema de computação. Este processo é composto por uma série de etapas que são executadas de forma não linear, mas sim iterativa. Nós consideramos o processo de programação adaptado de Polya (1957) para a resolução de problemas de programação, que inclui os seguintes passos [Pól57]: (1) Entender o problema, (2) Planejar a solução, (3) Implementar o programa e (4) Revisar. Com o foco no quarto estágio, nós almejamos que os estudantes tornem-se proficientes em corrigir as suas estratégias e, através de reflexão crítica, serem capazes de refatorar os seus códigos tendo em vista a boa qualidade de programação. Durante a pesquisa deste doutorado, nós desenvolvemos uma abordagem para gerar e fornecer feedback na última fase do processo de programação: avaliação da solução. O desafio foi entregar aos estudantes feedback elaborado e a tempo, referente ás atividades de programação, de forma a estimulá-los a pensar sobre o problema e a sua solução e melhorar as suas habilidades. Como requisito para a geração de feedback, comprometemo-nos a não impormais carga de trabalho aos professores, evitando-os de criar novos artefatos. Extraímos informações a partir do material instrucional já desenvolvido pelos professores quando da criação de uma nova atividade de programação: a solução de referência. Implementamos e avaliamos nossa proposta em um curso de programação introdutória em um estudo longitudinal. Os resultados obtidos no nosso estudo vão além da desejada melhoria na qualidade de código. Observamos que os alunos foram incentivados a melhorar as suas habilidades de programação estimulados pelo exercício de raciocinar sobre uma solução para um problema que já está funcionando. pt_BR
dc.publisher.country Brasil pt_BR
dc.publisher.department Centro de Engenharia Elétrica e Informática - CEEI pt_BR
dc.publisher.program PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO pt_BR
dc.publisher.initials UFCG pt_BR
dc.subject.cnpq Ciências pt_BR
dc.subject.cnpq Ciência da Computação pt_BR
dc.title Automatização de feedback para apoiar o aprendizado no processo de resolução de problemas de programação. pt_BR
dc.date.issued 2017-09-05
dc.description.abstract In programming education, the development of students’ programming skills through practical programming assignments is a fundamental activity. In order to succeed in those assignments, instructors need to provide guidance, especially to novice learners, about the programming process. We consider that this process, in the context of programming education, encompasses steps needed to solve a computer-programming problem. We took into consideration the programming process adapted from Polya (1957) to computer programming problem-solving, that includes the following stages [Pól57]: (1) Understand the problem; (2) Plan the solution; (3) Implement the program and (4) Look Back. Focusing on the fourth stage, we want students to be proficient in correcting strategies and, with critical reflection, being able to refactor their code caring about good programming quality. During this doctoral research, we developed an approach to generate formative feedback to leverage programming problem-solving in the last stage of the programming process: targeting the solution evaluation. The challenge was to provide timely and elaborated feedback, referring to programming assignments, to stimulate students to reason about the problem and their solution, aiming to improve their programming skills. As a requirement for generating feedback, we compromised not to impose the creation of new artifacts or instructional materials to instructors, but to take advantage of a usual resource already created when proposing a new programming assignment: the reference solution. We implemented and evaluated our proposal in an introductory programming course in a longitudinal study. The results go beyond what we initially expected: the improved assignments’ code quality. We observed that students felt stimulated, and in fact, improved their programming abilities driven by the exercise of reasoning about their already functioning solution. pt_BR
dc.identifier.uri http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/567
dc.date.accessioned 2018-05-03T19:03:28Z
dc.date.available 2018-05-03
dc.date.available 2018-05-03T19:03:28Z
dc.type Tese pt_BR
dc.subject Ciência da Computação - Educação pt_BR
dc.subject Ensino de Programação pt_BR
dc.subject Feedback Automático pt_BR
dc.subject Programming Education pt_BR
dc.rights Acesso Aberto pt_BR
dc.creator ARAÚJO, Eliane Cristina de.
dc.publisher Universidade Federal de Campina Grande pt_BR
dc.language eng pt_BR
dc.identifier.citation ARAÚJO, E. C. de. Automatização de feedback para apoiar o aprendizado no processo de resolução de problemas de programação. 2017. 159 f. Tese (Doutorado em Ciência da 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, 2017. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/567 pt_BR


Arquivos deste item

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples

Buscar DSpace


Busca avançada

Navegar

Minha conta