• JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
 
  Bookmark and Share
 
 
Dissertação de Mestrado
DOI
https://doi.org/10.11606/D.45.2023.tde-17012024-190825
Documento
Autor
Nome completo
Lucas Mendonça de Souza
E-mail
Unidade da USP
Área do Conhecimento
Data de Defesa
Imprenta
São Paulo, 2023
Orientador
Banca examinadora
Brandão, Anarosa Alves Franco (Presidente)
Pimentel, Edson Pinheiro
Raabe, André Luís Alice
 
Título em inglês
VCAT: an automatic assessment model for visual programming languages
Palavras-chave em inglês
Automatic assessment
Programming teaching
Visual programming
Resumo em inglês
Learning how to code is becoming a crucial aspect of modern society. The presence of digital technologies in everyday life requires some basic understanding on how software works in order to be aware of how this affects everyones life. Moreover, concerns on privacy and digital security also raises the relevance of understanding computer science concepts. These aspects are not only related to programming and can be referred in the literature as Computational Thinking. Computational Thinking is understood as the application of computer science concepts in different contexts of day-to-day life. As an answer to this, governments worldwide are implementing new school curricula that incorporate programming as a key skill. However, the literature shows that learning how to program is a complex and difficult task. In some cases, the dropout and failure rates can be very alarming. So, in order to mitigate these learning problems some researchers employed the visual programming paradigm. This paradigm consists in using visual elements to code algorithms. In this context, the experiments reported in the literature claim improvements in the learning process, such as better grades and motivation to learn. Another technology employed to support teaching and learning programming is the automatic assessment of programs. These tools can automatically evaluate a program using different methods. They allow teachers to assess a large number of exercises and also provide quick feedback to students. Nonetheless, at the best of our knowledge, only two visual programming systems that provide automatic assessment were found: iVProg and Chentry. Both systems offer a limited method of assessment. Therefore, this research proposes VCAT, an automatic assessment model to support Visual Programming Systems on providing this functionality to diverse visual programming languages. In addition to providing such a functionality, it also introduces improvements to its output matching algorithms, in order to provide a better experience with the generated feedback. The model was successfully instantiated considering iVProg and Blockly, which indicates that it is independent of the underlying visual programming language of the system. An experiment with students of the summer program for introductory programming was designed to assess how the students perceived the feedback improvements and the use of visual programming systems. Data from the experiment shows that the changes implemented in the output matching feedback was well received by the students when compared to VPL, a similar tool using the same type of automatic assessment without improvements. Moreover, data also suggests benefits of using visual programming as a learning step toward text based programming.
 
Título em português
VCAT: um modelo de avaliação automática para linguagens visuais
Palavras-chave em português
Avaliação automática
Ensino de programação
Programação visual
Resumo em português
Aprender a como programar tem se tornado um aspecto crucial da sociedade moderna. A presença de tecnologias digitais no dia-a-dia requer um entendimento básico de como software funciona de forma a ter consciência de como isso afeta a vida de todos. Ademais, as preocupações em relação a segurança digital e privacidade tornam ainda mais relevante a compreensão dos conceitos da ciência da computação. Esses aspectos não estão somente relacionados a programação e podem ser referidos na literatura como Pensamento Computacional. Pensamento Computacional é entendido como a aplicação dos conceitos da ciência da computação em diferentes contextos da vida cotidiana. Atentando a esse cenário, governos no mundo inteiro estão implementando novos currículos escolares que incorporam a programação como uma habilidade chave. Entretanto, a literatura mostra quer aprender a programar é uma tarefa complexa e difícil. Em alguns casos, os índices de evasão e reprovação chegam a ser alarmantes. Desta forma, afim de mitigar esses problemas de aprendizagem alguns pesquisadores sugerem o uso do paradigma de programação visual. Esse paradigma consiste no uso de elementos visuais para a construção de algoritmos. Neste contexto, os experimentos presentes na literatura afirmam ter encontrado indícios de melhora no processo de aprendizagem, como melhores notas e motivação na aprendizagem. Uma outra tecnologia utilizada no ensino e aprendizagem de programação é avaliação automática de programas. As ferramentas de avaliação automática avaliam a corretude de um algoritmo utilizando diferentes métodos. Elas permitem com que os professores consigam avaliar um grande número de exercícios e ao mesmo tempo fornecer uma retroalimentação rápida aos estudantes. Todavia, apenas dois sistemas de programação visual que fornecem avaliação automática são reportados na literatura: iVProg and Chentry. Ambos os sistemas, entretanto, oferecem métodos de avaliação bem limitados. Assim, o objetivo dessa pesquisa é propor um modelo, chamado VCAT, de avaliação automática de programas para sistemas de programação visual afim de permitir que linguagens de programação visual tenham acesso a avaliação automática. Além disso, esse estudo também busca melhorar a retroalimentação fornecida pelo método de avaliação automática conhecido como comparação de saídas. Uma instanciação do modelo foi feita tendo como base o iVProg. Uma segunda instanciação do modelo também foi desenvolvida para uma linguagem visual criada pelo autor usando o arcabouço Blockly. Melhorias foram feitas no algoritmo de comparação de saídas presente no modelo. Um experimento com estudantes do curso de verão para introdução à programação foi elaborado para avaliar como os estudantes percebem as melhorias no algoritmo de comparação de saídas e no uso de sistemas de programação visual. Os resultados indicam que o modelo apresentado é capaz de prover avaliação automática para outras linguagens visuais além do iVProg. Os dados do experimento mostram que as mudanças implementadas na retroalimentação do método de comparação de saídas foram bem recebidos pelos estudantes em comparação com a implementação tradicional do método no VPL, uma ferramenta de ensino de programação que usa comparação de saídas como método de avaliação. Além disso, os dados também apontam benefícios do uso de programação visual como uma ferramenta no processo de aprendizagem de programação textual
 
AVISO - A consulta a este documento fica condicionada na aceitação das seguintes condições de uso:
Este trabalho é somente para uso privado de atividades de pesquisa e ensino. Não é autorizada sua reprodução para quaisquer fins lucrativos. Esta reserva de direitos abrange a todos os dados do documento bem como seu conteúdo. Na utilização ou citação de partes do documento é obrigatório mencionar nome da pessoa autora do trabalho.
Data de Publicação
2024-01-24
 
AVISO: Saiba o que são os trabalhos decorrentes clicando aqui.
Todos os direitos da tese/dissertação são de seus autores.
CeTI-SC/STI
© 2001-2024. Biblioteca Digital de Teses e Dissertações da USP.