Development of a chatbot to assist introductory programming students

Detalhes bibliográficos
Autor(a) principal: Carreira, Gustavo Moreira
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/10316/102157
Resumo: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
id RCAP_c35a550868aa8f6f6f5259c357ab9df9
oai_identifier_str oai:estudogeral.uc.pt:10316/102157
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 Development of a chatbot to assist introductory programming studentsDesenvolvimento de um chatbot para apoiar a aprendizagem de programaçãoProcessamento de Linguagem NaturalChatbotAgente VirtualIntrodução à programaçãoRasaNatural Language ProcessingChatbotVirtual AgentIntroductory programmingRasaDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e TecnologiaO contínuo aumento da dependência da nossa sociedade em termos de tecnologia resulta num aumento na demanda pro programador, que por si resulta também num aumento no número de indivíduos com interesse em aprender a programar. A programação é considerada uma disciplina por si difícil, e como o tamanho das turmas e o número de alunos matriculados em cursos online, de introdução à programação, continuam a crescer, oferecer suporte individualizado a cada aluno pode parecer uma missão impossível, levando à frustração, falta de motivação e aumento do número de desistêcias. Uma solução para este problema poderia vir da implementação de chatbots com a finalidade de auxiliar esses alunos. Os benefícios de usar esta tecnologia não passam apenas pela possibilidade de ajudar vários alunos ao mesmo tempo, mas incluem também uma disponibilidade de 24 horas, feedback instantâneo e um meio para os alunos mais tímidos expressarem as suas dúvidas.O presente trabalho propõe o desenvolvimento de um chatbot de natureza Portuguesa, Pyo, para auxiliar alunos de cursos introdutórios à programação, oferecendo explicações e exemplos de conceitos introdutórios, auxílio nos exercícios e orientação aos alunos com vista a resolução de erros nos seus algoritmos. Com a framework Rasa, uma abordagem baseada em regras e a ajuda de algumas bibliotecas Python, um chatbot foi desenvolvido, integrado numa plataforma online de introdução à programação, e finalmente avaliado por alunos reais com pouco, ou nenhum, conhecimento de programação. A avaliação foi enviesada para o lado positivo, com a maioria dos alunos identificando o Pyo como benéfico para a sua aprendizagem, mas também revelou uma forte preferência por parte dos alunos em procura pela ajuda de colegas ou professores, mesmo sabendo da disponibilidade do chatbot, pois chegou-se à conclusão que os alunos preferiam assistência mais direta.As society's reliance on technology continues to increase, the demand for programmers will continue to rise, leading to an increase in the number of individuals seeking to learn how to program. Programming is regarded as a difficult subject to learn, and as the size of classes and the number of students enrolled in online courses continues to grow, providing individualised support to each student may appear impossible, leading to frustration, lack of motivation, and an increase in dropout rates. A solution could be the implementation of chatbots for the purpose of assisting such students. The benefits of using this technology would not only include the possibility of assisting multiple students at once, but also include 24-hour availability, instant feedback, and a means for shyer students to voice their doubts.The present work proposes the development of a Portuguese chatbot, Pyo, to assist students of introductory programming courses by providing explanations and examples of introductory programming concepts, assistance with the exercises, and guidance towards the resolution of errors in the algorithms. With the Rasa framework, a rule-based approach, and the help of other Python libraries, a chatbot was constructed, integrated into an online introductory programming platform, and then evaluated by real novice programmers.The evaluation was skewed toward the positive, with students identifying Pyo as beneficial to their learning journey, but it also uncovered a strong preference for seeking assistance from peers or professors rather than the agent as the students preferred more straightforward assistance.FCT2022-09-07info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://hdl.handle.net/10316/102157http://hdl.handle.net/10316/102157TID:203062230engCarreira, Gustavo Moreirainfo: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:RCAAP2022-09-27T20:41:41Zoai:estudogeral.uc.pt:10316/102157Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:19:12.735545Repositó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 Development of a chatbot to assist introductory programming students
Desenvolvimento de um chatbot para apoiar a aprendizagem de programação
title Development of a chatbot to assist introductory programming students
spellingShingle Development of a chatbot to assist introductory programming students
Carreira, Gustavo Moreira
Processamento de Linguagem Natural
Chatbot
Agente Virtual
Introdução à programação
Rasa
Natural Language Processing
Chatbot
Virtual Agent
Introductory programming
Rasa
title_short Development of a chatbot to assist introductory programming students
title_full Development of a chatbot to assist introductory programming students
title_fullStr Development of a chatbot to assist introductory programming students
title_full_unstemmed Development of a chatbot to assist introductory programming students
title_sort Development of a chatbot to assist introductory programming students
author Carreira, Gustavo Moreira
author_facet Carreira, Gustavo Moreira
author_role author
dc.contributor.author.fl_str_mv Carreira, Gustavo Moreira
dc.subject.por.fl_str_mv Processamento de Linguagem Natural
Chatbot
Agente Virtual
Introdução à programação
Rasa
Natural Language Processing
Chatbot
Virtual Agent
Introductory programming
Rasa
topic Processamento de Linguagem Natural
Chatbot
Agente Virtual
Introdução à programação
Rasa
Natural Language Processing
Chatbot
Virtual Agent
Introductory programming
Rasa
description Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
publishDate 2022
dc.date.none.fl_str_mv 2022-09-07
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/10316/102157
http://hdl.handle.net/10316/102157
TID:203062230
url http://hdl.handle.net/10316/102157
identifier_str_mv TID:203062230
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.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_ 1799134086332153856