Content area

Abstract

A sociedade quotidiana está embebida na tecnologia. Várias atividades do nosso dia-a-dia estão diretamente ligadas e dependentes do mundo tecnológico. Isto torna-se mais evidente no contexto do MIEIC, onde todo o percurso académico está relacionado com software.

Sendo assim, no conjunto de métodos automáticos já implementados no curso, há realidades não enquadradas na ideologia da automação: o processo de correção de testes. Em unidades curriculares como LPOO e MPCP são usados IDEs para a resolução de exercícios de programação. No entanto, o processo de correção é essencialmente manual, exigindo um esforço significativo dos docentes e uma espera acrescida dos alunos pelo feedback.

Assim, o objetivo desta dissertação é desenvolver uma plataforma Web que permita a avaliação automática de programas desenvolvidos pelos alunos em contexto de exame ou aula. A plataforma permitirá aos alunos submeterem o seu código e, posteriormente, num ambiente controlado e seguro (protegendo de código malicioso e/ou ciclos infinitos), executar o código e uma bateria de testes (disponibilizada pelo docente) comparando o outputesperado com o obtido. Por fim, a plataforma apresenta os resultados automaticamente ao aluno.

Esta dissertação envolveu, numa fase inicial, um estudo de várias ferramentas e frameworks existentes que permitem, sob diferentes contextos , a avaliação automática de código como o Mooshak ou o SPOJ com o objetivo de identificar pontos fortes que sejam passiveis de integração com o Moodle. Posteriormente, a plataforma foi desenvolvida seguindo um processo iterativo, em 3 fases: desenvolvimento de um servidor que permitirá a submissão do código e bateria de testes por parte do aluno e do docente, respetivamente; desenvolvimento de ambiente server-sideresponsável pela avaliação do código e retorno dessa mesma avaliação; desenvolvimento da interface de visualização do output esperado e obtido e das estatísticas relativas à execução.

A ferramenta foi validada recorrendo a contextos reais, as aulas de MPCP e LPOO. É expetável que a plataforma seja útil no processo de avaliação de código, onde o principal objetivo é proporcionar um ambiente mais propício para os alunos e mais seguro e automático para os docentes.

Este documento encontra-se dividido em 5 seções: A primeira introduz o contexto do problema desta dissertação, a motivação e objetivos e terminada com uma exposição do conteúdo de cada uma das seguintes seções. A segunda consiste numa contextualização de quando são usadas ferramentas de avaliação automática de código fonte, um apanhado das várias plataformas de elearning e ferramentas existentes. A terceira expõe a solução desenvolvida nesta dissertação, que compreende a arquitetura do sistema, as funcionalidades implementadas, as interfaces, estruturas de dados na base de dados e no servidor e a descrição dos módulos de correção automática. A quarta expõe as experiências realizadas de modo a validar a solução e os resultados correspondentes. Por fim, a quinta apresenta as conclusões retiradas e os planos para trabalho futuro.

Alternate abstract:

Todays’ society is linked with technology. Several activities of our day-to-day are both directly linked and dependent on the technological world. This becomes more evident in the MIEIC’s context, where the entire academic course is related to software in such way that all the skills learned by the students are developed through and for technology.

Thus, in the set of automatic methods already implemented in the course, there are realities that don’t fit in the ideology of automation: the process of correcting exercices. In curricular units like Laboratório de Programação Orientada a Objectos (LPOO) and Microprocessadores e Computadores Pessoais (MPCP), students use IDEs to solve programming exercises. However, the correction process is essentially manual, requiring a significant effort from the teachers and an increased dwell time of the students to receive feedback.

Thus, the objective of this dissertation was to develop a web platform that allows the automaticly evaluate the programs developed by the students in an exam and class context. The platform allows students to submit their code and then, in a controlled and secure environment (protected against malicious code and / or infinite cycles), execute the code and a battery of tests (made available by the teacher) comparing the returned output of the program with the expected one. Finally, the platform shall present the results automatically to the student, as well as the statistics related to the execution time.

This dissertation will involve, at an early stage, a study of the several existing tools and frameworks that allow, under different contexts, to evaluate automatically source code such as Mooshak or SPOJ with the aim of identifying strengths that can be integrated with Moodle. Subsequently, the platform will be developed following an iterative process, in 3 phases: development of a server that will allow the submission of code and battery of tests by the student and the teacher, respectively; development of the server-side environment responsible for evaluating the code and return of that same evaluation; development of the expected and obtained output visualization interface and execution statistics.

The tool will be validated using real contexts, MPCP and LPOO classes. It is likely that the platform will be useful in the code evaluation process, where the main objective is to provide an environment more conducive to students and more secure and automatic for teachers.

This document is divided into 5 sections: The first introduces the context of the problem, the motivation and objectives and ends with an exposition of the content of each of the following sections. The second is a conceptualization of when and where the automatic evaluation tools are used and presents a collection of the various e-learning platforms and existing tools. The third presents the developd solution in this dissertation, which includes the system architecture, the implemented functionalities, interfaces, data structures in the database and server and the description of the automatic correction modules. The fourth section describes the experiments made and corresponding results and, finally, the fifth presents the conclusions and the plans for future work.

Details

Title
Avaliação Automática de Programas em Contexto de E-Learning
Author
Cardoso, José Alberto de Carvalho
Publication year
2017
Publisher
ProQuest Dissertations & Theses
ISBN
9798381662351
Source type
Dissertation or Thesis
Language of publication
Portuguese
ProQuest document ID
2925387410
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.