Publicação

Integrating a graph builder into python tutor

Ver documento

Detalhes bibliográficos
Resumo:Analysing unknown source code to comprehend it is quite hard and expensive task. Therefore, the Program Comprehension (PC) subject has always been an area of interest as it helps to realize how a program works by identifying the code that implements each functionality. This means being able to map the problem domain with the program domain. PC is a complex area, but its importance for programmers is so high that many approaches and tools were proposed along the last two decades. Program Animation is one of those approaches requiring specialized techniques. For each programming language, there are already tools that enable us to execute a program step by step, visualize its execution path, observe the effect of each instruction on its data structures, and inspect the value of its variables at any point. In the present context, we sustain the idea that PC techniques and tools can also be of great value for students taking the first steps in programming using a specific language. To this end, we aim to improve Python Tutor, a well-known program visualization tool, with graph-based representations of source code such as Control Flow Graph (CFG), Data Flow Graph (DFG), Function Call Graph (FCG) and System Control Graph (SCG). This helps novice programmers to understand the source code analyzing not only the variable contents but also a set of automatically generated graph-based visualizations, that were not included in Python Tutor so far. This will allow the students to be focused on certain aspects of the program (depending on the graph), abstracting others such as details of its syntax.
Autores principais:Soares, Diogo
Outros Autores:Pereira, Maria João; Henriques, Pedro Rangel
Assunto:Program visualization Python tutor Data flow graphs Control flow graphs
Ano:2021
País:Portugal
Tipo de documento:comunicação em conferência
Tipo de acesso:acesso aberto
Instituição associada:Instituto Politécnico de Bragança
Idioma:inglês
Origem:Biblioteca Digital do IPB
_version_ 1867172978108661760
author Soares, Diogo
author2 Pereira, Maria João
Henriques, Pedro Rangel
author2_role author
author
author_facet Soares, Diogo
Pereira, Maria João
Henriques, Pedro Rangel
author_role author
contributor_name_str_mv Biblioteca Digital do IPB
country_str PT
creators_json_txt [{\"Person.name\":\"Soares, Diogo\"},{\"Person.name\":\"Pereira, Maria João\",\"Person.identifier.orcid\":\"0000-0001-6323-0071\"},{\"Person.name\":\"Henriques, Pedro Rangel\"}]
datacite.contributors.contributor.contributorName.fl_str_mv Biblioteca Digital do IPB
datacite.creators.creator.creatorName.fl_str_mv Soares, Diogo
Pereira, Maria João
Henriques, Pedro Rangel
datacite.date.Accepted.fl_str_mv 2021-01-01T00:00:00Z
datacite.date.available.fl_str_mv 2021-11-04T12:31:34Z
datacite.date.embargoed.fl_str_mv 2021-11-04T12:31:34Z
datacite.rights.fl_str_mv http://purl.org/coar/access_right/c_abf2
datacite.subjects.subject.fl_str_mv Program visualization
Python tutor
Data flow graphs
Control flow graphs
datacite.titles.title.fl_str_mv Integrating a graph builder into python tutor
dc.contributor.none.fl_str_mv Biblioteca Digital do IPB
dc.creator.none.fl_str_mv Soares, Diogo
Pereira, Maria João
Henriques, Pedro Rangel
dc.date.Accepted.fl_str_mv 2021-01-01T00:00:00Z
dc.date.available.fl_str_mv 2021-11-04T12:31:34Z
dc.date.embargoed.fl_str_mv 2021-11-04T12:31:34Z
dc.format.none.fl_str_mv application/pdf
dc.identifier.none.fl_str_mv http://hdl.handle.net/10198/24158
dc.language.none.fl_str_mv eng
dc.publisher.none.fl_str_mv Schloss Dagstuhl - Leibniz-Zentrum fur Informatik
dc.rights.cclincense.fl_str_mv http://creativecommons.org/licenses/by/4.0/
dc.rights.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.subject.none.fl_str_mv Program visualization
Python tutor
Data flow graphs
Control flow graphs
dc.title.fl_str_mv Integrating a graph builder into python tutor
dc.type.none.fl_str_mv http://purl.org/coar/resource_type/c_5794
description Analysing unknown source code to comprehend it is quite hard and expensive task. Therefore, the Program Comprehension (PC) subject has always been an area of interest as it helps to realize how a program works by identifying the code that implements each functionality. This means being able to map the problem domain with the program domain. PC is a complex area, but its importance for programmers is so high that many approaches and tools were proposed along the last two decades. Program Animation is one of those approaches requiring specialized techniques. For each programming language, there are already tools that enable us to execute a program step by step, visualize its execution path, observe the effect of each instruction on its data structures, and inspect the value of its variables at any point. In the present context, we sustain the idea that PC techniques and tools can also be of great value for students taking the first steps in programming using a specific language. To this end, we aim to improve Python Tutor, a well-known program visualization tool, with graph-based representations of source code such as Control Flow Graph (CFG), Data Flow Graph (DFG), Function Call Graph (FCG) and System Control Graph (SCG). This helps novice programmers to understand the source code analyzing not only the variable contents but also a set of automatically generated graph-based visualizations, that were not included in Python Tutor so far. This will allow the students to be focused on certain aspects of the program (depending on the graph), abstracting others such as details of its syntax.
dirty 0
eu_rights_str_mv openAccess
format conferencePaper
fulltext.url.fl_str_mv https://bibliotecadigital.ipb.pt/bitstreams/33aa3650-f853-4e63-bacf-3a4992de471d/download
funding.funder.alternateName_str_mv FCT
FCT
funding.funder.identifier_str_mv http://doi.org/10.13039/501100001871
http://doi.org/10.13039/501100001871
funding.funder.name_str_mv Fundação para a Ciência e a Tecnologia
Fundação para a Ciência e a Tecnologia
funding.name_str_mv 6817 - DCRRNI ID
6817 - DCRRNI ID
id ipb_f66e452c5f21e9cdffd85d3551fd69ff
identifier.url.fl_str_mv http://hdl.handle.net/10198/24158
instacron_str ipb
institution Instituto Politécnico de Bragança
instname_str Instituto Politécnico de Bragança
language eng
network_acronym_str ipb
network_name_str Biblioteca Digital do IPB
oai_identifier_str oai:bibliotecadigital.ipb.pt:10198/24158
organization_str_mv urn:organizationAcronym:ipb
person_str_mv Soares, Diogo
Pereira, Maria João
Pereira, Maria João
https://www.ciencia-id.pt/C912-4A49-A3B3
C912-4A49-A3B3
http://orcid.org/0000-0001-6323-0071
0000-0001-6323-0071
Henriques, Pedro Rangel
publishDate 2021
publisher.none.fl_str_mv Schloss Dagstuhl - Leibniz-Zentrum fur Informatik
reponame_str Biblioteca Digital do IPB
repository_id_str urn:repositoryAcronym:ipb
service_str_mv urn:repositoryAcronym:ipb
spelling engSchloss Dagstuhl - Leibniz-Zentrum fur Informatikpt_PTAnalysing unknown source code to comprehend it is quite hard and expensive task. Therefore, the Program Comprehension (PC) subject has always been an area of interest as it helps to realize how a program works by identifying the code that implements each functionality. This means being able to map the problem domain with the program domain. PC is a complex area, but its importance for programmers is so high that many approaches and tools were proposed along the last two decades. Program Animation is one of those approaches requiring specialized techniques. For each programming language, there are already tools that enable us to execute a program step by step, visualize its execution path, observe the effect of each instruction on its data structures, and inspect the value of its variables at any point. In the present context, we sustain the idea that PC techniques and tools can also be of great value for students taking the first steps in programming using a specific language. To this end, we aim to improve Python Tutor, a well-known program visualization tool, with graph-based representations of source code such as Control Flow Graph (CFG), Data Flow Graph (DFG), Function Call Graph (FCG) and System Control Graph (SCG). This helps novice programmers to understand the source code analyzing not only the variable contents but also a set of automatically generated graph-based visualizations, that were not included in Python Tutor so far. This will allow the students to be focused on certain aspects of the program (depending on the graph), abstracting others such as details of its syntax.application/pdfpt_PTIntegrating a graph builder into python tutorSoares, DiogoPersonalPereira, Maria JoãoDSpacehttp://dspace.org/items/a20ccfa6-4e84-4c25-ab0d-8d6ba196ffc2DSpacehttp://dspace.org/items/a20ccfa6-4e84-4c25-ab0d-8d6ba196ffc2PereiraMaria JoãoCiência IDhttps://www.ciencia-id.ptC912-4A49-A3B3ORCIDhttp://orcid.org0000-0001-6323-0071Researcher IDhttps://www.researcherid.comG-5999-2011Scopus Author IDhttps://www.scopus.com13907870300Henriques, Pedro RangelHostingInstitutionOrganizationalBiblioteca Digital do IPBe-mailmailto:dspace@ipb.ptdspace@ipb.ptISBNIsPartOf978-395977194-8DOIIsPartOf10.4230/OASIcs.ICPEC.2021.62021-11-04T12:31:34Z20212021-01-01T00:00:00ZHandlehttp://hdl.handle.net/10198/24158http://purl.org/coar/access_right/c_abf2open accessProgram visualizationPython tutorData flow graphsControl flow graphs1103548 bytesFundação para a Ciência e a TecnologiaResearch Centre in Digitalization and Intelligent Robotics6817 - DCRRNI IDCrossref Funder IDhttp://doi.org/10.13039/501100001871Fundação para a Ciência e a TecnologiaALGORITMI Research Center6817 - DCRRNI IDCrossref Funder IDhttp://doi.org/10.13039/501100001871other research producthttp://purl.org/coar/resource_type/c_5794conference paper2021http://creativecommons.org/licenses/by/4.0/http://purl.org/coar/access_right/c_abf2application/pdffulltexthttps://bibliotecadigital.ipb.pt/bitstreams/33aa3650-f853-4e63-bacf-3a4992de471d/downloadSecond International Computer Programming Education Conference (ICPEC 2021)91online
spellingShingle Integrating a graph builder into python tutor
Soares, Diogo
Program visualization
Python tutor
Data flow graphs
Control flow graphs
status SINGLETON
subject.fl_str_mv Program visualization
Python tutor
Data flow graphs
Control flow graphs
title Integrating a graph builder into python tutor
title_full Integrating a graph builder into python tutor
title_fullStr Integrating a graph builder into python tutor
title_full_unstemmed Integrating a graph builder into python tutor
title_short Integrating a graph builder into python tutor
title_sort Integrating a graph builder into python tutor
topic Program visualization
Python tutor
Data flow graphs
Control flow graphs
topic_facet Program visualization
Python tutor
Data flow graphs
Control flow graphs
url http://hdl.handle.net/10198/24158
visible 1