Please use this identifier to cite or link to this item: https://ri.ufs.br/jspui/handle/riufs/10639
Document Type: Dissertação
Title: Uma abordagem unificada para especificar e checar restrições em múltiplas linguagens de programação por meio de um analisador estático no contexto de um juiz on-line
Authors: Santos, Kleber Tarcísio Oliveira
Issue Date: 28-Feb-2018
Advisor: Costa Neto, Alberto
Resumo : O processo de ensino e aprendizagem da programação de computadores é uma tarefa complexa que requer bastante prática e criatividade. Geralmente há inúmeras soluções para um mesmo problema. Por isso, o aluno precisa que suas soluções sejam avaliadas rapidamente visando um aprendizado mais ágil e eficaz. Para enfrentar esses desafios, os professores e alunos podem contar com recursos provenientes da evolução da Tecnologia da Informação e Comunicação. Os ambientes de aprendizagem virtual e os sistemas de juiz on-line são alternativas atrativas utilizadas nesse contexto. Este trabalho apresenta uma abordagem unificada de especificação e checagem de restrições de código-fonte apoiada por um analisador estático. Apesar das ferramentas atuais serem capazes de indicar se o programa produziu a saída esperada a partir de uma entrada fornecida, nem todas são capazes de determinar se o aluno utilizou (ou não) determinada construção de linguagem de programação, como por exemplo criar uma função e utilizá-la no programa. Entre as que são capazes, existem problemas que foram sanados na abordagem proposta neste trabalho, como: facilidade de uso, abordagem unificada e grau de flexibilidade. Além disto, este trabalho conta com uma análise da base de dados do The Huxley com o objetivo de descobrir quais são as principais restrições de código-fonte utilizadas pelos professores e atendidas pelos alunos. Esta análise foi feita com os dados obtidos da aplicação do analisador estático de código-fonte desenvolvido e em conjunto com um survey aplicado aos professores de introdução à programação com o propósito de conhecer as principais restrições que seriam utilizadas por eles se possuíssem uma ferramenta de especificação e checagem de restrições.
Abstract: The teaching and learning process of computer programming is a complex task which requires a lot of practice and creativity. Usually, there are numerous solutions to the same problem. Therefore, the student needs that his solutions are evaluated quickly for a faster and effective learning. To face these challenges, teachers and students can rely on resources from the evolution of Information and Communication Technology. Virtual learning environments and online judge systems are attractive alternatives used in this context. This work presents a unified approach to specify and check source code restrictions supported by a static analyzer. Although current tools are able to indicate if the program produced the expected output from a given input, not all are able to determine if the student used (or not) a given programming language construct, such as creating a function and using it in the program. Among those that are capable, there are problems that were solved in the approach proposed in this work, such as: ease of use, unified approach and degree of flexibility. In addition, this work presents an analysis of the database of The Huxley with the purpose of discovering the main restrictions of source code used by the teachers and attended by the students. This analysis was done based on data obtained from the use of the developed static analyzer and in conjunction with a survey applied to the teachers of introduction to programming with the purpose of knowing the main restrictions that would be used by them if they had a tool to specify and check restrictions.
Keywords: Juiz on-line
Ensino de programação
Avaliação automática de programação
Análise estática de código-fonte
Judge on-line
Teaching programming
Automated assessment of programming
Static analysis of source code
Subject CNPQ: CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Language: por
Institution: Universidade Federal de Sergipe
Program Affiliation: Pós-Graduação em Ciência da Computação
Citation: SANTOS, Kleber Tarcísio Oliveira. Uma abordagem unificada para especificar e checar restrições em múltiplas linguagens de programação por meio de um analisador estático no contexto de um juiz on-line. 2018. 115 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Sergipe, São Cristóvão, SE, 2018.
URI: http://ri.ufs.br/jspui/handle/riufs/10639
Appears in Collections:Mestrado em Ciência da Computação

Files in This Item:
File Description SizeFormat 
KLEBER_TARCISIO_OLIVEIRA_SANTOS.pdf2,09 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.