Conversão de Código Python em Fluxograma
| dc.contributor.advisor | Fontoura, José Roberto Araujo | |
| dc.contributor.author | Bacelar, Allan Victor Costa | |
| dc.contributor.referee | Garrido, Elaine | |
| dc.contributor.referee | Cardoso, Bruno | |
| dc.date.accessioned | 2026-01-03T11:02:24Z | |
| dc.date.available | 2026-01-03T11:02:24Z | |
| dc.date.issued | 2025-12-03 | |
| dc.description.abstract | A 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.abstract2 | The 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.mimetype | application/pdf | |
| dc.identifier.citation | BACELAR, 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.uri | https://saberaberto.uneb.br/handle/20.500.11896/10338 | |
| dc.identifier2.Lattes | http://lattes.cnpq.br/8426437541254256 | |
| dc.language.iso | por | |
| dc.publisher | Universidade do Estado da Bahia | |
| dc.publisher.program | Colegiado Sistemas de Informação | |
| dc.rights | info:eu-repo/semantics/openAccess | |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/br/ | |
| dc.rights2 | Attribution-NonCommercial-NoDerivs 3.0 Brazil | en |
| dc.subject.keywords | Educação em Programação | |
| dc.subject.keywords | Visualização de Algoritmos | |
| dc.subject.keywords | Python | |
| dc.subject.keywords | Fluxogramas Interativos | |
| dc.subject.keywords | Notional Machines | |
| dc.title | Conversão de Código Python em Fluxograma | |
| dc.title.alternative | Conversion of Python Code into Flowcharts | |
| dc.type | info:eu-repo/semantics/bachelorThesis |