Identifying evidences of computer programming skills through automatic source code evaluation

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Porfirio, Andres Jessé
Orientador(a): Pereira, Roberto, 1983-
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://hdl.handle.net/1884/67208
Resumo: Orientador: Roberto Pereira
id UFPR_e93d62b5262edbb6d770b0487500d20f
oai_identifier_str oai:acervodigital.ufpr.br:1884/67208
network_acronym_str UFPR
network_name_str Repositório Institucional da UFPR
repository_id_str
spelling Krynski, Eleandro MaschioUniversidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em InformáticaPereira, Roberto, 1983-Porfirio, Andres Jessé2023-06-29T13:35:53Z2023-06-29T13:35:53Z2020https://hdl.handle.net/1884/67208Orientador: Roberto PereiraCoorientador: Eleandro MaschioTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 27/03/2020Inclui referências: p. 98-106Área de concentração: Ciência da ComputaçãoResumo: Esta tese e contextualizada no ensino de programacao de computadores em cursos de Computacao e investiga aspectos e estrategias para avaliacao automatica e continua de codigos fonte desenvolvidos pelos alunos. O estado da arte foi identificado por meio de revisao sistematica de literatura e revelou que as pesquisas anteriores tendem a realizar avaliacoes baseadas em aspectos tecnicos de codigos fonte, como a avaliacao de corretude funcional e a deteccao de erros. Avaliacoes baseadas em habilidades, por outro lado, sao pouco exploradas e possuem potencial para fornecer detalhes a respeito de habilidades representadas por conceitos de alto nivel, como desvios condicionais e estruturas de repeticao. Um metodo de identificacao automatica de evidencias de aprendizado e entao proposto como uma abordagem baseada em habilidades para a avaliacao automatica de codigos fonte de programacao. O metodo e caracterizado pela implementacao de diferentes estrategias para avaliacao de codigos fonte, identificacao de evidencias de habilidades de programacao, e representacao destas habilidades em um modelo do aluno. Experimentos realizados em ambientes controlados (bases de dados artificiais) mostraram que estrategias automaticas de avaliacao de codigo fonte sao viaveis. Experimentos conduzidos em ambientes reais (codigos fonte produzidos por alunos) produziram resultados semelhantes aos ambientes controlados, entretanto revelaram limitacoes relacionadas a implementacao das estrategias, como vulnerabilidades a sintaxes inesperadas e falhas em expressoes regulares. Um conjunto de habilidades foi selecionado para compor o modelo do aluno, representado por uma rede bayesiana dinamica. Por meio de experimentos foi demonstrado que a alimentacao do modelo com evidencias resultantes da avaliacao automatica de codigos fonte permite o acompanhamento do progresso das habilidades dos alunos. Finalmente, as estrategias automaticas em conjunto com os recursos do modelo do aluno permitiram a demonstracao da avaliacao baseada em habilidades, que se mostrou um recurso valioso para identificacao de solucoes funcionalmente corretas, porem conceitualmente incorretas; quando o programa e funcionalmente correto, retornando resultados esperados a determinadas entradas, porem foi construido com recursos e conceitos incorretos. Palavras-chave: Programacao de Computadores, Avaliacao Automatica, Avaliacao Baseada em HabilidadesAbstract: This thesis is contextualized in the teaching of computer programming in Computing courses and investigates aspects and strategies for automatic and continuous evaluation of student developed source codes. The state of the art was identified through systematic literature review and revealed previous research tends to perform evaluations based on source codes technical aspects, such as functional correctness assessment and error detection. Skills-based assessments, in turn, are less explored although having potential to provide details of skills represented by high-level concepts, such as conditionals and repetition structures. A method for automatic identification of learning evidences is then proposed as a skills-based approach to automatic evaluation of programming source codes. The method is characterized by implementing different strategies for source code evaluation, identifying evidences of programming skills, and representing these skills in a student model. Experiments conducted in controlled scenarios (testing datasets) have shown automatic source code evaluation strategies are viable. Experiments conducted in real scenarios (student-made source codes) produced results similar to controlled scenarios, however, implementation-related limitations were revealed for some strategies, such as vulnerabilities to unexpected syntax and flaws in regular expressions. A skill set was selected to compose our student model, represented by a Dynamic Bayesian Network. Experiments have shown feeding the model with evidences resulting from source codes automatic evaluation allows monitoring students' skills progress. Finally, automatic strategies coupled with student model capabilities enabled demonstrating skills-based assessment, which showed a valuable resource for identifying functionally correct source codes, but conceptually incorrect; when a program is correct functionally, returning expected results to specific inputs, but it was built with erroneous concepts and resources. Keywords: Computer Programming, Automatic Evaluation, Skills-Based Assessment1 recurso online : PDF.application/pdfProgramação (Computadores)AlgorítmosCiência da ComputaçãoIdentifying evidences of computer programming skills through automatic source code evaluationinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisengreponame:Repositório Institucional da UFPRinstname:Universidade Federal do Paraná (UFPR)instacron:UFPRinfo:eu-repo/semantics/openAccessORIGINALR - T - ANDRES JESSE PORFIRIO.pdfapplication/pdf4098320https://acervodigital.ufpr.br/bitstream/1884/67208/1/R%20-%20T%20-%20ANDRES%20JESSE%20PORFIRIO.pdf7cd1f228ee0bac0fb1491ceacfc7892cMD51open access1884/672082023-06-29 10:35:53.583open accessoai:acervodigital.ufpr.br:1884/67208Repositório InstitucionalPUBhttp://acervodigital.ufpr.br/oai/requestinformacaodigital@ufpr.bropendoar:3082023-06-29T13:35:53Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)false
dc.title.pt_BR.fl_str_mv Identifying evidences of computer programming skills through automatic source code evaluation
title Identifying evidences of computer programming skills through automatic source code evaluation
spellingShingle Identifying evidences of computer programming skills through automatic source code evaluation
Porfirio, Andres Jessé
Programação (Computadores)
Algorítmos
Ciência da Computação
title_short Identifying evidences of computer programming skills through automatic source code evaluation
title_full Identifying evidences of computer programming skills through automatic source code evaluation
title_fullStr Identifying evidences of computer programming skills through automatic source code evaluation
title_full_unstemmed Identifying evidences of computer programming skills through automatic source code evaluation
title_sort Identifying evidences of computer programming skills through automatic source code evaluation
author Porfirio, Andres Jessé
author_facet Porfirio, Andres Jessé
author_role author
dc.contributor.other.pt_BR.fl_str_mv Krynski, Eleandro Maschio
Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática
dc.contributor.advisor1.fl_str_mv Pereira, Roberto, 1983-
dc.contributor.author.fl_str_mv Porfirio, Andres Jessé
contributor_str_mv Pereira, Roberto, 1983-
dc.subject.por.fl_str_mv Programação (Computadores)
Algorítmos
Ciência da Computação
topic Programação (Computadores)
Algorítmos
Ciência da Computação
description Orientador: Roberto Pereira
publishDate 2020
dc.date.issued.fl_str_mv 2020
dc.date.accessioned.fl_str_mv 2023-06-29T13:35:53Z
dc.date.available.fl_str_mv 2023-06-29T13:35:53Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1884/67208
url https://hdl.handle.net/1884/67208
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 1 recurso online : PDF.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPR
instname:Universidade Federal do Paraná (UFPR)
instacron:UFPR
instname_str Universidade Federal do Paraná (UFPR)
instacron_str UFPR
institution UFPR
reponame_str Repositório Institucional da UFPR
collection Repositório Institucional da UFPR
bitstream.url.fl_str_mv https://acervodigital.ufpr.br/bitstream/1884/67208/1/R%20-%20T%20-%20ANDRES%20JESSE%20PORFIRIO.pdf
bitstream.checksum.fl_str_mv 7cd1f228ee0bac0fb1491ceacfc7892c
bitstream.checksumAlgorithm.fl_str_mv MD5
repository.name.fl_str_mv Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)
repository.mail.fl_str_mv informacaodigital@ufpr.br
_version_ 1847526260203323392