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. 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 output esperado com o obtido. Por fim, a plataforma apresenta os resultados automaticamente ao aluno, bem como as estatísticas relativas ao tempo de execução.Esta dissertação envolverá, 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 será 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-side responsá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 será 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. / 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 is to develop a web platform that allows the automaticly evaluate the programs developed by the students in an exam context. The platform shall allow 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.
Identifer | oai:union.ndltd.org:up.pt/oai:repositorio-aberto.up.pt:10216/106222 |
Date | 04 August 2017 |
Creators | José Alberto de Carvalho Cardoso |
Contributors | Faculdade de Engenharia |
Source Sets | Universidade do Porto |
Language | Portuguese |
Detected Language | Portuguese |
Type | Dissertação |
Format | application/pdf |
Rights | openAccess |
Page generated in 0.0025 seconds