Publicação
Integrating a graph builder into python tutor
| 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 |