Return to search

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

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. / 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. / São Cristóvão, SE

Identiferoai:union.ndltd.org:IBICT/oai:ri.ufs.br:riufs/10639
Date28 February 2018
CreatorsSantos, Kleber Tarcísio Oliveira
ContributorsCosta Neto, Alberto
PublisherPós-Graduação em Ciência da Computação, Universidade Federal de Sergipe
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguageEnglish
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Sourcereponame:Repositório Institucional da UFS, instname:Universidade Federal de Sergipe, instacron:UFS
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0087 seconds