ATENÇÃO: Esta página foi traduzida automaticamente pelo Google Translate. Isto pode ter consequências inesperadas no conteúdo apresentado e, portanto, não nos responsabilizamos pelo resultado dessa tradução automática.


ATTENTION: this page has been automatically translated by Google Translate. This can have unexpected consequences and, therefore, we do not take responsibility for the result of that automatic translation.

menu
EN
menu
close
MestradoMestrado em Engenharia Informática

A hint generation system for introductory programming exercises in Java

Autor
Gonçalves, Jorge Alexandre da Silva
Data de publicação
25 Jan 2023
Acesso
Acesso livre
Palavras-chave
Recommender systems
Sistema de recomendação
Introductory programming
Introdução à programação
Hint generation
Autonomous work
Geração de dicas
Trabalho autónomo
Resumo
PT
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.
EN
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.

Relacionadas