Automatic generation of programming exercises
| Main Author: | |
|---|---|
| Publication Date: | 2023 |
| Format: | Master thesis |
| Language: | eng |
| Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| Download full: | https://hdl.handle.net/1822/92812 |
Summary: | Dissertação de mestrado em Informatics Engineering |
| id |
RCAP_2f0907e23cde40983a18a7f4d4bdd5fa |
|---|---|
| oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/92812 |
| network_acronym_str |
RCAP |
| network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| repository_id_str |
https://opendoar.ac.uk/repository/7160 |
| spelling |
Automatic generation of programming exercisesComputer programming exercises generationNatural language processingAI-based language modelsGeração de exercícios de programaçãoProcessamento de linguagem naturalModelos de linguagem baseados em IAEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Informatics EngineeringThis document is a thesis report for the final project of the Master Degree in Informatics Engineering, accomplished at Universidade do Minho in Braga, Portugal. The project consisted in the development of a tool capable of semi-automatically generating computer programming exercises named GOLIATH. It applies Natural Language Processing (NLP) methods and techniques, commonly used to construct short texts in predefined formats, to build typical Computer Programming exercises. In doing so, GOLIATH intends to support teachers and students in their educational endeavours by providing dynamically generated exercises. It aims to ease the burden of creating study material and also provide constant and immediate access to new exercises. GOLIATH was implemented to include two AI-based models: one to generate text (Keys-To-Text) and another to generate source code (CodeT5). A template-based exercise generation mechanism was added to its functionalities, taking advantage of a DSL designed specifically for this project. This DSL was fully designed (and its processor implemented) to allow the use of expressive templates that enable the generation of more than one version of an exercise. The entire application was tested and feedback was overall positive, pointing to the better aspects of the application and providing useful feedback for future iterations. With its objectives achieved, GOLIATH may become a valuable contribution to the education support tools landscape.Este documento consiste no relatório de dissertação para o projeto final do Mestrado em Engenharia Informática, realizado na Universidade do Minho em Braga, Portugal. O projeto consistiu no desenvolvimento de uma ferramenta, chamada GOLIATH, capaz de gerar semi automaticamente exercícios de programação. Esta ferramenta aplica métodos e técnicas de Processamento de Linguagem Natural (PLN), frequentemente utilizados para a construção de textos curtos em formatos pré-definidos, para gerar exercícios típicos de programação. Ao fazê-lo, GOLIATH pretende apoiar professores e alunos em seus esforços educacionais, fornecendo exercícios gerados dinamicamente. Visa tanto reduzir a carga de trabalho de criar material de estudo, como fornecer acesso constante e imediato a novos exercícios. GOLIATH foi implementado para incluir dois modelos baseados em IA: um para gerar texto (Keys-To-Text) e outro para gerar código-fonte (CodeT5). Um mecanismo de geração de exercícios baseado em templates foi adicionado às suas funcionalidades, com o auxílio de uma DSL desenvolvida especificamente para este projeto. Esta DSL (e seu processador implementado) foi totalmente projetada para permitir o uso de templates expressivos que possibilitam a geração de mais de uma versão de um exercício. Toda a aplicação foi testada e o feedback foi, em geral, positivo, apontando para os melhores aspectos da aplicação e proporcionando recomendações úteis para futuras iterações. Com seus objetivos alcançados, GOLIATH pode tornar-se numa contribuição valiosa para o cenário de ferramentas de apoio à educação.Henriques, Pedro RangelPereira, Maria João VarandaNeto, Álvaro CostaUniversidade do MinhoFreitas, Tiago Carvalho2023-12-282023-12-28T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/92812eng203618149info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-09-07T01:34:24Zoai:repositorium.sdum.uminho.pt:1822/92812Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T18:47:53.265113Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
| dc.title.none.fl_str_mv |
Automatic generation of programming exercises |
| title |
Automatic generation of programming exercises |
| spellingShingle |
Automatic generation of programming exercises Freitas, Tiago Carvalho Computer programming exercises generation Natural language processing AI-based language models Geração de exercícios de programação Processamento de linguagem natural Modelos de linguagem baseados em IA Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| title_short |
Automatic generation of programming exercises |
| title_full |
Automatic generation of programming exercises |
| title_fullStr |
Automatic generation of programming exercises |
| title_full_unstemmed |
Automatic generation of programming exercises |
| title_sort |
Automatic generation of programming exercises |
| author |
Freitas, Tiago Carvalho |
| author_facet |
Freitas, Tiago Carvalho |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Henriques, Pedro Rangel Pereira, Maria João Varanda Neto, Álvaro Costa Universidade do Minho |
| dc.contributor.author.fl_str_mv |
Freitas, Tiago Carvalho |
| dc.subject.por.fl_str_mv |
Computer programming exercises generation Natural language processing AI-based language models Geração de exercícios de programação Processamento de linguagem natural Modelos de linguagem baseados em IA Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| topic |
Computer programming exercises generation Natural language processing AI-based language models Geração de exercícios de programação Processamento de linguagem natural Modelos de linguagem baseados em IA Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| description |
Dissertação de mestrado em Informatics Engineering |
| publishDate |
2023 |
| dc.date.none.fl_str_mv |
2023-12-28 2023-12-28T00:00:00Z |
| 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 |
https://hdl.handle.net/1822/92812 |
| url |
https://hdl.handle.net/1822/92812 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.relation.none.fl_str_mv |
203618149 |
| 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órios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
| instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
| instacron_str |
RCAAP |
| institution |
RCAAP |
| reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
| repository.mail.fl_str_mv |
info@rcaap.pt |
| _version_ |
1833597670159024128 |