Acode: sistema web para avaliação automática de algoritmos Java

A avaliação automática de código-fonte pode ser uma ferramenta importante na aprendizagem de conceitos e linguagens de programação uma vez que permite aos alunos obterem feedback automático em relação à solução que apresentam para determinado problema. As ferramentas existentes fazem uso de testes d...

Full description

Bibliographic Details
Main Author: Pinto, Marcos André Moreira (author)
Format: masterThesis
Language:por
Published: 2014
Subjects:
Online Access:http://hdl.handle.net/10071/8263
Country:Portugal
Oai:oai:repositorio.iscte-iul.pt:10071/8263
Description
Summary:A avaliação automática de código-fonte pode ser uma ferramenta importante na aprendizagem de conceitos e linguagens de programação uma vez que permite aos alunos obterem feedback automático em relação à solução que apresentam para determinado problema. As ferramentas existentes fazem uso de testes de entrada e saída de parâmetros para avaliar código submetido por alunos. No entanto, para uma avaliação mais completa é necessário acrescentar a esse processo de avaliação automática técnicas mais avançadas como métricas de engenharia de software. Face às limitações dessas abordagens, o trabalho de investigação apresentado na presente dissertação descreve e avalia uma abordagem faseada para a avaliação automática de código-fonte: i) o código-fonte do aluno é primeiramente compilado e é analisado se existe algum erro; ii) o código-fonte compilado é testado através de um conjunto de testes JUnit fornecidos pelo docente; iii) é usado um conjunto de métricas de engenharia de software para comparar a solução do aluno com a solução do docente; iv) e, finalmente, com base nas etapas anteriores, o feedback é fornecido ao aluno para que possa auto-avaliar as suas capacidades e identificar as áreas em que necessita de mais estudo e/ou exercícios. O protótipo baseado nesta abordagem foi implementado num ambiente Web e foi testado recorrendo a alunos do público-alvo e com a utilização de um browser de internet. Os resultados da avaliação comprovam que o uso deste tipo de ferramentas facilita a aprendizagem e aquisição de conhecimentos por parte do aluno devido ao feedback imediato e constante fornecido pelo sistema.