Integrating a graph builder into python tutor

Bibliographic Details
Main Author: Soares, Diogo
Publication Date: 2021
Other Authors: Pereira, Maria João, Henriques, Pedro Rangel
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10198/24158
Summary: 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.
id RCAP_f66e452c5f21e9cdffd85d3551fd69ff
oai_identifier_str oai:bibliotecadigital.ipb.pt:10198/24158
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Integrating a graph builder into python tutorProgram visualizationPython tutorData flow graphsControl flow graphsAnalysing 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.This work has been supported by FCT – Fundação para a Ciência e Tecnologia within the Projects Scopes: UIDB/05757/2020 and UIDB/00319/2020.Schloss Dagstuhl - Leibniz-Zentrum fur InformatikBiblioteca Digital do IPBSoares, DiogoPereira, Maria JoãoHenriques, Pedro Rangel2021-11-04T12:31:34Z20212021-01-01T00:00:00Zconference objectinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/10198/24158engSoares, Diogo; Pereira, Maria João; Henriques, Pedro (2021). Integrating a graph builder into python tutor. In Second International Computer Programming Education Conference (ICPEC 2021). p. 1-15. ISBN 978-395977194-8978-395977194-810.4230/OASIcs.ICPEC.2021.6info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-02-25T12:14:24Zoai:bibliotecadigital.ipb.pt:10198/24158Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T11:41:46.404199Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Integrating a graph builder into python tutor
title Integrating a graph builder into python tutor
spellingShingle Integrating a graph builder into python tutor
Soares, Diogo
Program visualization
Python tutor
Data flow graphs
Control flow graphs
title_short 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_sort Integrating a graph builder into python tutor
author Soares, Diogo
author_facet Soares, Diogo
Pereira, Maria João
Henriques, Pedro Rangel
author_role author
author2 Pereira, Maria João
Henriques, Pedro Rangel
author2_role author
author
dc.contributor.none.fl_str_mv Biblioteca Digital do IPB
dc.contributor.author.fl_str_mv Soares, Diogo
Pereira, Maria João
Henriques, Pedro Rangel
dc.subject.por.fl_str_mv Program visualization
Python tutor
Data flow graphs
Control flow graphs
topic Program visualization
Python tutor
Data flow graphs
Control flow graphs
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.
publishDate 2021
dc.date.none.fl_str_mv 2021-11-04T12:31:34Z
2021
2021-01-01T00:00:00Z
dc.type.driver.fl_str_mv conference object
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10198/24158
url http://hdl.handle.net/10198/24158
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv Soares, Diogo; Pereira, Maria João; Henriques, Pedro (2021). Integrating a graph builder into python tutor. In Second International Computer Programming Education Conference (ICPEC 2021). p. 1-15. ISBN 978-395977194-8
978-395977194-8
10.4230/OASIcs.ICPEC.2021.6
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Schloss Dagstuhl - Leibniz-Zentrum fur Informatik
publisher.none.fl_str_mv Schloss Dagstuhl - Leibniz-Zentrum fur Informatik
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833592155791163392