A hint generation system for introductory programming exercises in Java

Detalhes bibliográficos
Autor(a) principal: Gonçalves, Jorge Alexandre da Silva
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10071/27449
Resumo: Teaching and learning programming is a real challenge for teachers and students. Students starting to code for the first time, feeling stuck when trying to solve a programming exercise is normal, and teachers should support them in this case. The student who works autonomously can create a proactive attitude towards his education. With the current evolution of technology and world events, the remote environment for education is a reality, so tools that can help students, guiding them when they need it, can be important to give them the necessary autonomy.This dissertation proposes a recommendation system that can be integrated into any exercise platform to recognize a partially written code and generate reliable and useful tips (combined with positive feedback) whenever the student needs support, based on a solution previously set by the teacher. This dissertation describes the implementation of such a recommendation system, based on abstract syntax trees and tree editing distance. A system prototype composed of a REST API and a Web frontend was developed as a materialization of the proposed approach.
id RCAP_2710869fd123cc1692e645068610a358
oai_identifier_str oai:repositorio.iscte-iul.pt:10071/27449
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 A hint generation system for introductory programming exercises in JavaIntroductory programmingHint generationRecommender systemsAutonomous workIntrodução à programaçãoGeração de dicasSistema de recomendaçãoTrabalho autónomoTeaching and learning programming is a real challenge for teachers and students. Students starting to code for the first time, feeling stuck when trying to solve a programming exercise is normal, and teachers should support them in this case. The student who works autonomously can create a proactive attitude towards his education. With the current evolution of technology and world events, the remote environment for education is a reality, so tools that can help students, guiding them when they need it, can be important to give them the necessary autonomy.This dissertation proposes a recommendation system that can be integrated into any exercise platform to recognize a partially written code and generate reliable and useful tips (combined with positive feedback) whenever the student needs support, based on a solution previously set by the teacher. This dissertation describes the implementation of such a recommendation system, based on abstract syntax trees and tree editing distance. A system prototype composed of a REST API and a Web frontend was developed as a materialization of the proposed approach.Ensinar e aprender programação é um verdadeiro desafio para professores e alunos. É normal os alunos que começam a codificar pela primeira vez sentirem-se bloqueados ao tentar resolver um exercício de programação, ficando dependentes de ajuda de professores ou alguém mais experiente para progredir. Porém, o aluno que trabalha de forma autónoma pode desenvolver uma atitude proativa em relação à sua educação. Com a atual evolução da tecnologia e os acontecimentos mundiais, o ambiente remoto para educação é uma realidade, e logo, ferramentas que possam auxiliar os alunos, orientando-os quando precisam, podem ser importantes para dar-lhes a autonomia necessária. Esta dissertação propõe um sistema de recomendação que pode ser integrado em qualquer plataforma de exercícios para reconhecer um código parcialmente escrito e gerar dicas confiáveis e úteis (combinadas com feedback positivo) para ajudar no progresso sempre que o aluno precisar de apoio. As dicas são geradas com base numa solução previamente definida pelo professor. Esta dissertação descreve a implementação de tal sistema de recomendação, baseado em árvores de sintaxe abstrata e distância de edição das mesmas. Foi desenvolvido um protótipo de sistema composto por uma API REST e um frontend Web como materialização da abordagem proposta.2023-01-25T13:02:09Z2022-12-19T00:00:00Z2022-12-192022-11info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10071/27449TID:203175360engGonçalves, Jorge Alexandre da Silvainfo: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:40:15Zoai:repositorio.iscte-iul.pt:10071/27449Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T22:18:37.221151Repositó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 A hint generation system for introductory programming exercises in Java
title A hint generation system for introductory programming exercises in Java
spellingShingle A hint generation system for introductory programming exercises in Java
Gonçalves, Jorge Alexandre da Silva
Introductory programming
Hint generation
Recommender systems
Autonomous work
Introdução à programação
Geração de dicas
Sistema de recomendação
Trabalho autónomo
title_short A hint generation system for introductory programming exercises in Java
title_full A hint generation system for introductory programming exercises in Java
title_fullStr A hint generation system for introductory programming exercises in Java
title_full_unstemmed A hint generation system for introductory programming exercises in Java
title_sort A hint generation system for introductory programming exercises in Java
author Gonçalves, Jorge Alexandre da Silva
author_facet Gonçalves, Jorge Alexandre da Silva
author_role author
dc.contributor.author.fl_str_mv Gonçalves, Jorge Alexandre da Silva
dc.subject.por.fl_str_mv Introductory programming
Hint generation
Recommender systems
Autonomous work
Introdução à programação
Geração de dicas
Sistema de recomendação
Trabalho autónomo
topic Introductory programming
Hint generation
Recommender systems
Autonomous work
Introdução à programação
Geração de dicas
Sistema de recomendação
Trabalho autónomo
description Teaching and learning programming is a real challenge for teachers and students. Students starting to code for the first time, feeling stuck when trying to solve a programming exercise is normal, and teachers should support them in this case. The student who works autonomously can create a proactive attitude towards his education. With the current evolution of technology and world events, the remote environment for education is a reality, so tools that can help students, guiding them when they need it, can be important to give them the necessary autonomy.This dissertation proposes a recommendation system that can be integrated into any exercise platform to recognize a partially written code and generate reliable and useful tips (combined with positive feedback) whenever the student needs support, based on a solution previously set by the teacher. This dissertation describes the implementation of such a recommendation system, based on abstract syntax trees and tree editing distance. A system prototype composed of a REST API and a Web frontend was developed as a materialization of the proposed approach.
publishDate 2022
dc.date.none.fl_str_mv 2022-12-19T00:00:00Z
2022-12-19
2022-11
2023-01-25T13:02:09Z
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/27449
TID:203175360
url http://hdl.handle.net/10071/27449
identifier_str_mv TID:203175360
dc.language.iso.fl_str_mv eng
language eng
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_ 1799134745545670656