VCAT: an automatic assessment model for visual programming languages

Detalhes bibliográficos
Autor(a) principal: Souza, Lucas Mendonça de
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: https://www.teses.usp.br/teses/disponiveis/45/45134/tde-17012024-190825/
Resumo: 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.
id USP_676dc02330d28dd22097476b3b51a4ca
oai_identifier_str oai:teses.usp.br:tde-17012024-190825
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling VCAT: an automatic assessment model for visual programming languagesVCAT: um modelo de avaliação automática para linguagens visuaisAutomatic assessmentAvaliação automáticaEnsino de programaçãoProgramação visualProgramming teachingVisual programmingLearning 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.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 textualBiblioteca Digitais de Teses e Dissertações da USPBrandão, Anarosa Alves FrancoSouza, Lucas Mendonça de2023-11-17info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/45/45134/tde-17012024-190825/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesseng2024-01-24T16:22:02Zoai:teses.usp.br:tde-17012024-190825Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212024-01-24T16:22:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv VCAT: an automatic assessment model for visual programming languages
VCAT: um modelo de avaliação automática para linguagens visuais
title VCAT: an automatic assessment model for visual programming languages
spellingShingle VCAT: an automatic assessment model for visual programming languages
Souza, Lucas Mendonça de
Automatic assessment
Avaliação automática
Ensino de programação
Programação visual
Programming teaching
Visual programming
title_short VCAT: an automatic assessment model for visual programming languages
title_full VCAT: an automatic assessment model for visual programming languages
title_fullStr VCAT: an automatic assessment model for visual programming languages
title_full_unstemmed VCAT: an automatic assessment model for visual programming languages
title_sort VCAT: an automatic assessment model for visual programming languages
author Souza, Lucas Mendonça de
author_facet Souza, Lucas Mendonça de
author_role author
dc.contributor.none.fl_str_mv Brandão, Anarosa Alves Franco
dc.contributor.author.fl_str_mv Souza, Lucas Mendonça de
dc.subject.por.fl_str_mv Automatic assessment
Avaliação automática
Ensino de programação
Programação visual
Programming teaching
Visual programming
topic Automatic assessment
Avaliação automática
Ensino de programação
Programação visual
Programming teaching
Visual programming
description 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.
publishDate 2023
dc.date.none.fl_str_mv 2023-11-17
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/45/45134/tde-17012024-190825/
url https://www.teses.usp.br/teses/disponiveis/45/45134/tde-17012024-190825/
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1809090789634998272