Conversão de Código Python em Fluxograma

dc.contributor.advisorFontoura, José Roberto Araujo
dc.contributor.authorBacelar, Allan Victor Costa
dc.contributor.refereeGarrido, Elaine
dc.contributor.refereeCardoso, Bruno
dc.date.accessioned2026-01-03T11:02:24Z
dc.date.available2026-01-03T11:02:24Z
dc.date.issued2025-12-03
dc.description.abstractA crescente demanda por ferramentas educacionais inovadoras no ensino de programação tem destacado a importância de recursos visuais para simplificar conceitos abstratos. Durante o aprendizado de lógica algorítmica, estudantes iniciantes frequentemente enfrentam dificuldades em compreender o fluxo de execução do código, especialmente em linguagens como Python, onde a indentação e estruturas aninhadas podem gerar confusão. Tradicionalmente, o processo de compreensão é auxiliado por fluxogramas estáticos, método que se mostra limitado em dinamismo e interatividade. Este trabalho propõe o desenvolvimento do PyFlow, uma plataforma web interativa que utiliza técnicas de análise sintática para converter automaticamente código Python em diagramas de fluxo dinâmicos e interativos. Diferente de ferramentas existentes, o sistema desenvolvido permite: visualização em tempo real da execução passo a passo do algoritmo; interatividade, onde cada bloco do diagrama pode ser clicado para mostrar explicações pedagógicas sobre a estrutura, valores atuais das variáveis e trecho de código correspondente. A plataforma foi desenvolvida com uma arquitetura moderna, utilizando Spring Boot para o backend, Angular para uma interface frontend responsiva e D3.js com SVG para renderização de visualizações interativas. Fundamentado em estudos recentes sobre notional machines e ferramentas educacionais interativas, o PyFlow busca preencher uma lacuna significativa no ensino de programação, oferecendo uma abordagem visual que promove melhor compreensão dos conceitos algorítmicos. Os resultados do desenvolvimento demonstraram a viabilidade técnica da conversão automática e as vantagens da abordagem baseada em notinal machines visuais. Como trabalhos futuros, sugere-se a expansão do suporte a mais estruturas da linguagem Python, integração com ambientes educacionais e validação empírica com usuários reais.
dc.description.abstract2The growing demand for innovative educational tools in programming education has highlighted the importance of visual resources to simplify abstract concepts. When learning algorithmic logic, beginner students often face difficulties in understanding code execution flow, especially in languages like Python, where indentation and nested structures can cause confusion. Traditionally, the comprehension process is assisted by static flowcharts, a method that proves limited in dynamism and interactivity.This work proposes the development of PyFlow, an interactive web platform that uses syntactic analysis techniques to automatically convert Python code into dynamic and interactive flow diagrams. Unlike existing tools, the developed system enables: real-time visualization of step-by-step algorithm execution; interactivity, where each diagram block can be clicked to display pedagogical explanations about the structure, current variable values, and the corresponding code snippet. The platform was developed with a modern architecture, using Spring Boot for the backend, Angular for a responsive frontend interface, and D3.js with SVG for rendering interactive visualizations. Grounded in recent studies on notional machines and interactive educational tools, PyFlow seeks to fill a significant gap in programming education by offering a visual approach that promotes better understanding of algorithmic concepts. The development results demonstrated the technical feasibility of automatic conversion and the advantages of the visual notional machines approach. As future work, we suggest expanding support for more Python language structures, integration with educational environments, and empirical validation with real users.
dc.format.mimetypeapplication/pdf
dc.identifier.citationBACELAR, Allan Victor Costa. Conversão de código Python em fluxograma. Orientador: José Roberto Araújo Fontoura. 2025. 35 f. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) – Departamento de Ciências Exatas e da Terra, Universidade do Estado da Bahia, Alagoinhas, 2025.
dc.identifier.urihttps://saberaberto.uneb.br/handle/20.500.11896/10338
dc.identifier2.Latteshttp://lattes.cnpq.br/8426437541254256
dc.language.isopor
dc.publisherUniversidade do Estado da Bahia
dc.publisher.programColegiado Sistemas de Informação
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/
dc.rights2Attribution-NonCommercial-NoDerivs 3.0 Brazilen
dc.subject.keywordsEducação em Programação
dc.subject.keywordsVisualização de Algoritmos
dc.subject.keywordsPython
dc.subject.keywordsFluxogramas Interativos
dc.subject.keywordsNotional Machines
dc.titleConversão de Código Python em Fluxograma
dc.title.alternativeConversion of Python Code into Flowcharts
dc.typeinfo:eu-repo/semantics/bachelorThesis
Arquivos
Pacote Original
Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
ConversãodeCódigo_AllanBarcelar
Tamanho:
1.46 MB
Formato:
Adobe Portable Document Format
Descrição:
Licença do Pacote
Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
462 B
Formato:
Item-specific license agreed upon to submission
Descrição: