Minicursos do CODEC 2025
Palavras-chave:
APIs RESTful, Python, Flask, Google Firestore, Render, Sistema Multi-Agentes, LangGraph, Testes End-to-End, Playwright, Sistemas Embarcados, BitDogLab, Git, GitHub, Versionamento de Código, GitHub DesktopSinopse
O Livro de Minicursos do Congresso de Desenvolvimento de Sistemas e Computação – CODEC 2025, realizado em Piripiri-PI e sediado pelo Instituto Federal do Piauí (IFPI), reúne conteúdos derivados dos minicursos apresentados durante o evento, refletindo temas atuais e práticos das áreas de tecnologia e desenvolvimento de sistemas. O primeiro capítulo, “Construindo APIs Escaláveis com Flask, Firestore e Render”, aborda a criação e implantação de APIs RESTful com Python, destacando o uso de arquiteturas modulares, bancos NoSQL e deploy automatizado na nuvem. Em “Desenvolvendo um Sistema Multi-Agentes para Pesquisa Científica com LangGraph”, o segundo capítulo explora o uso de agentes inteligentes e frameworks de IA para automatizar processos de busca, validação e análise de dados em pesquisas científicas. No terceiro capítulo, “Explorando Testes End-to-End com Playwright: Um Convite à Automação de Qualidade”, são apresentados conceitos e práticas de automação de testes de software, evidenciando a importância da qualidade e da confiabilidade no desenvolvimento de aplicações web. O quarto capítulo, “Sistemas Embarcados: Uma Abordagem Prática com BitDogLab”, propõe uma introdução experimental ao universo dos sistemas embarcados, unindo fundamentos de eletrônica e programação em atividades práticas. Por fim, “Introdução ao Git e GitHub: Controle de Versão na Prática” oferece uma visão acessível das ferramentas essenciais para o versionamento de código e colaboração em projetos de software. Com temas que vão da programação em nuvem à automação e ao hardware educacional, esta coletânea traduz o espírito do CODEC 2025: promover a integração entre ensino, pesquisa e prática profissional, estimulando o aprendizado ativo e a inovação tecnológica.
Capítulos
-
1. Construindo APIs escaláveis com Flask, Firestore e Render
-
2. Desenvolvendo um Sistema Multi-Agentes para Pesquisa Científica com LangGraph
-
3. Explorando Testes End-to-End com Playwright: Um Convite à Automação de Qualidade
-
4. Sistemas Embarcados: Uma Abordagem Prática com BitDogLab
-
5. Introdução ao Git e GitHub: Controle de Versão na Prática
Downloads
Referências
Akdur, D., Comer, R., and Magedanz, T. (2018). Co-design and co-simulation of heterogeneous embedded systems: A survey. Simulation Modelling Practice and Theory, 89:276–292.
Akesson, B., Nasri, M., Nelissen, G., Altmeyer, S., and Davis, R. I. (2020). An empirical survey into industry practice in real-time embedded systems. Proceedings of the IEEE Real-Time Systems Symposium (RTSS).
ALMEIDA DA SILVA, Wildemarkes de et al. Mitigation of Hallucinations in Language Models in Education: A New Approach of Comparative and Cross-Verification. In: 2024 IEEE International Conference on Advanced Learning Technologies (ICALT). [S. l.: s. n.], 2024. p. 207–209. DOI: 10.1109/ICALT61570.2024.00066.
Alves, C. M. (2025). Ligeirinho —jogo de reflexo com bitdoglab. GitHub Repository. Jogo de tempo de reação que utiliza LEDs, botões, buzzer e display OLED em C com SDK do Raspberry Pi Pico (RP2040). Acesso em: 6 de setembro de 2025.
Alves, M. C. (2025). todo-codec: Aplicação para o minicurso de testes e2e com playwright. [link]. GitHub. Acesso em: 2025-10-20.
Andrade, M. (2024) “Boas práticas no Design e Desenvolvimento de APIs”, DIO.
ANTHROPIC. Anthropic key. [S. l.: s. n.], 2024. Acessado em 20 de março de 2025. Available from: [link].
AppMaster (2023) “Firestore: um mergulho profundo no banco de dados NoSQL do Firebase”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
AppMaster (s.d.) “Camada de serviço API”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Ariza, J. A. and Baez, H. (2021). Understanding the role of singleboard computers in engineering and computer science education: A systematic literature review. Computer Applications in Engineering Education.
Atlassian. (n.d.). Comparing workflows. Atlassian Git Tutorials. [link].
AWS (s.d.) “O que é SOA? – Explicação sobre arquitetura orientada a serviços”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
BARBARROXA, Rafael; GOMES, Luis; VALE, Zita. Benchmarking Large Language Models for Multi-agent Systems: A Comparative Analysis of AutoGen, CrewAI, and TaskWeaver. In: MATHIEU, Philippe; DE LA PRIETA, Fernando (eds.). Advances in Practical Applications of Agents, Multi-Agent Systems, and Digital Twins: The PAAMS Collection. Cham: Springer Nature Switzerland, 2024. p. 39–48. ISBN 978-3-031-70415-4.
BENDER, Emily M. et al. On the Dangers of Stochastic Parrots: Can Language Models Be Too Big? In: PROCEEDINGS of the 2021 ACM Conference on Fairness, Accountability, and Transparency. Virtual Event, Canada: Association for Computing Machinery, 2021. (FAccT ’21), p. 610–623. ISBN 9781450383097. DOI: 10.1145/3442188.3445922.
Benyeogor, M. S., Benyeogor, A., Olaiya, K. A., and Agumey, P. (2024). Advancing embedded systems education: A pedagogical programming framework for smart system and control applications. TechRxiv / arXiv preprint.
Brito, B. (2020) “API RESTful Boas práticas”, Medium.
Chacon, S., & Straub, B. (2014). Pro Git (p. 456). Springer Nature.
CHASE, Harrison. LangGraph Documentation. [S. l.: s. n.], 2024. Acessado em 14 de março de 2025. Available from: [link].
Cohn, M. (2009). Succeeding with Agile: Software Development Using Scrum. Addison-Wesley Professional.
Community, B. (2025). Bitdoglab — open-hardware educational platform (readme and hcd). [link]. Acesso em: 1 de setembro de 2025.
Coursera. (2023). What is Git?. Coursera. [link].
Cypress (2025). Cypress documentation. [link]. Acesso em: 2025-10-20.
DEV Community (2024) “UV - A Ferramenta que Simplifica o Gerenciamento de Ambientes e Dependências no Python”,Disponível em: [link]
Earth Data Science. (n.d.). Basic Git commands. Earth Data Science Workshops. [link].
Elsevier / ScienceDirect (2025). Embedded computer— sciencedirect topics. [link]. Acesso em: 1 de setembro de 2025.
Encyclopaedia Britannica. (n.d.). GitHub. In Britannica. [link].
Everhour. (n.d.). What is GitHub?. Everhour Blog. [link].
Firebase (s.d.) “Documentação do Firestore”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Foundation, R. P. (2021). Rp2040 microcontroller datasheet. [link]. Acesso em: 1 de setembro de 2025.
Fowler, M. (2012). The test pyramid. [link]. Acesso em: 2025-10-20.
Fowler, M. (2020). Refatoração: Aperfeiçoando o design de códigos existentes. Novatec Editora.
Fruett, F., Barbosa, F. P., Fraga, S. C. Z., and ao Guimarães, P. I. A. (2024). Empowering steam activities with artificial intelligence and open hardware: The bitdoglab. IEEE Transactions on Education, 67(3):462–471.
Garousi, V., Felderer, M., and Ribeiro, L. (2018). Testing embedded software: A survey of the literature. Information and Software Technology, 95:123–147.
Git SCM. (n.d.). Getting started: A short history of Git. Git. [link].
GitHub (s.d.) “Melhores práticas de manutenção de dependências”, Disponível em: [link] em: 31 de agosto de 2025.
GitHub Docs. (n.d.). About GitHub and Git. GitHub. [link].
GitHub Docs. (n.d.). About pull requests. GitHub. [link].
GitHub, Inc. (s.d.). Documentação do GitHub Desktop. Recuperado em 16 de julho de 2025, de [link].
GitHub. (2025). Criar uma conta no GitHub. GitHub Docs. Recuperado em 8 de setembro de 2025, de [link].
GitHub. (2025). Git turns 20: A Q&A with Linus Torvalds. GitLab Blog. [link].
GitHub. (2025). Instalar o GitHub Desktop. GitHub Docs. Recuperado em 8 de setembro de 2025, de [link].
GitLab. (2025). Journey through Git’s 20-year history. GitLab Blog. [link].
Google Cloud (s.d.) “Firestore”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Gran Cursos Online (2022) “Conceituação e principais pontos sobre a arquitetura REST”, Disponível em: [link] em: 31 de agosto de 2025.
I Programmer. (2025). Linus on Git. I Programmer. [link].
Industries, A. (2025). Bitdoglab is a raspberry pi pico learning lab which encourages ai-assisted programming. [link]. Acesso em: 1 de setembro de 2025.
Inedo (2017) “Manual Deployment Disasters”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Instruments, T. (2021). Implications of slow or floating cmos inputs (application report scba004e). Texas Instruments Application Report SCBA004E, July 1994 – Rev. E (Reviewed July 2021). [link]. Acesso em: 1 de setembro de 2025.
JORDAN, M. I.; MITCHELL, T. M. Machine learning: Trends, perspectives, and prospects. Science, v. 349, n. 6245, p. 255–260, 2015. DOI: 10.1126/science.aaa8415. eprint: [link]. Available from: [link].
Kester, W. (2009). Adc architectures ii: Successive approximation adcs (mt-021 tutorial). Analog Devices Tutorial. [link]. Acesso em: 1 de setembro de 2025.
KHANDARE, Anand et al. Analysis of Python Libraries for Artificial Intelligence. In: BALAS, Valentina Emilia; SEMWAL, Vijay Bhaskar; KHANDARE, Anand (eds.). Intelligent Computing and Networking. Singapore: Springer Nature Singapore, 2023. p. 157–177. ISBN 978-981-99-0071-8.
Kong Inc. (2021) “The Evolution of APIs: From RPC to SOAP and XML”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Kopetz, H. (2022). Real–Time Systems: Design Principles for Distributed Embedded Applications. Springer. Referência moderna que cobre requisitos temporais em sistemas embarcados.
LBODEV (2024) “O Que é Service Layer: Entenda Sua Importância”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Lee, M. and Levin, M. (2025). Anti-alias filter design for a 100 khz bandwidth data acquisition signal chain. Texas Instruments Application Note SBAA655A. [link]. Acesso em: 1 de setembro de 2025.
LUO, Tianze et al. Multi-Agent Collaborative Exploration through Graph-based Deep Reinforcement Learning. In: 2019 IEEE International Conference on Agents (ICA). [S. l.: s. n.], 2019. p. 2–7. DOI: 10.1109/AGENTS.2019.8929168.
Macoratti .net (2019) “.NET - Apresentando HATEOAS”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Martin, R. C. (2012). O codificador limpo: um código de conduta para programadores profissionais. Alta Books.
MATHUR, Srushti; CHHABRA, Aayush. Vector Search Algorithms: A Brief Survey. In: 2024 4th International Conference on Ubiquitous Computing and Intelligent Information Systems (ICUIS). [S. l.: s. n.], 2024. p. 365–371. DOI: 10.1109/ICUIS64676.2024.10866377.
Mats, S. (2020). The story of GitHub: How a weekend hack became the world’s code playground. Medium. [link].
MELONI, Antonello et al. Integrating Conversational Agents and Knowledge Graphs Within the Scholarly Domain. IEEE Access, v. 11, p. 22468–22489, 2023. DOI: 10.1109/ACCESS.2023.3253388.
Meszaros, G. (2007). xUnit Test Patterns: Refactoring Test Code. Addison-Wesley Professional.
Micco, L. D., Vargas, F. L., and Fierens, P. I. (2018). A literature review on embedded systems. IEEE Latin America Transactions. Survey com definição e panorama de sistemas embarcados.
Microsoft (2025). Playwright documentation. [link]. Acesso em: 2025-10-20.
Mufid, I. and Basofi, A. (2019) “Design an MVC Model using Python for Flask Framework Development”, Semantic Scholar.
MuleSoft (s.d.) “Camada de API”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
NASCIMENTO, Larissa Souza do; BUDARUICHE, Ricardo Moura Sekeff. Como Criar seu Próprio Assistente de Pesquisa Científica com LangGraph. In: ANAIS do ENUCOMPI 2025. [S. l.]: Sociedade Brasileira de Computação, 2025. DOI: 10.5753/sbc.16935.3.3.
Neupane, A. (2024) “How to deploy a Flask app to Render” [Vídeo], YouTube.
Opsera (s.d.) “12 Business Benefits of CI/CD | A CI/CD Overview”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Pasricha, S. (2022). Embedded systems education in the 2020s: Challenges, reflections, and future directions. arXiv preprint, arXiv:2206.03263.
Pereira, T., Albuquerque, D., Sousa, A., Alencar, F., and Castro, J. (2017). Retrospective and trends in requirements engineering for embedded systems: A systematic literature review. Proceedings of the 20th Workshop on Requirements Engineering (WER 2017). Revisão sistemática sobre engenharia de requisitos em sistemas embarcados.
PEROV, Vadim; PEROVA, Nina. AI Hallucinations: Is “Artificial Evil” Possible? In: 2024 IEEE Ural-Siberian Conference on Biomedical Engineering, Radioelectronics and Information Technology (USBEREIT). [S. l.: s. n.], 2024. p. 114–117. DOI: 10.1109/USBEREIT61901.2024.10584048.
Pi, R. (2025). raspberrypi/pico-sdk. GitHub repository. SDK oficial para desenvolvimento em C/C++ para microcontroladores RP-series (RP2040 / Pico), com APIs para GPIO, PWM, I!C, timers, PIO e mais. Acesso em: 1 de setembro de 2025.
ProgrammingKnowledge (2025) “How to Deploy Python Flask App on Render” [Vídeo], YouTube.
PSL Models. (n.d.). History of GitHub. Git Tutorial. [link].
Quora (2018) “What are the differences between a microframework and a full-stack framework?”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Red Hat (2023) “API REST - O que é API REST?”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Red Hat (2024) “What is CI/CD?”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Render (s.d.) “Deploy a Flask App on Render”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Rodrigues, D. (2025) “Aplicações modernas com Python: Desenvolvimento Web com Flask e FastAPI”, Google Books.
Sarro, T. (s.d.) “Good Practices on Manual Deployment”, Medium. Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Selenium (2025). Selenium documentation. [link]. Acesso em: 2025-10-20.
Shannon, C. E. (1948). A mathematical theory of communication. Bell System Technical Journal, 27(3–4):379–423, 623–656.
Silva, T. (2019) “Flask: Crie aplicações web robustas com Python”, Casa do Código.
Solomon Systech / Adafruit (mirror) (2010). Ssd1306 oled driver – datasheet. [link]. Acesso em: 1 de setembro de 2025.
Sommerville, I. (2019). Engenharia de Software. Pearson Brasil.
Splunk (2023) “Intro to Python Frameworks Part 2 – Full-Stack vs. Micro Framework”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Stack Overflow (2012) “Flask-framework: MVC pattern”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
STEM hash (2024) “Google’s Cloud Firestore Database: Leveraging The Binary Search Algorithm”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
STMicroelectronics (2009). Understanding and minimising adc conversion errors: Application note an1636. [link]. Acesso em: 1 de setembro de 2025.
STMicroelectronics (2015). Mp34dt01-m – mems digital microphone datasheet. [link]. Acesso em: 1 de setembro de 2025.
Sztipanovits, J., Biswas, G., Frampton, K., Gokhale, A., et al. (2005). Introducing embedded software and systems education and advanced learning technology in an engineering curriculum. ACM Transactions on Embedded Computing Systems, 4(3):549–568.
TAVILY. Tavily key. [S. l.: s. n.], 2024. Acessado em 20 de março de 2025. Available from: [link].
Telles, D. (2018) “Princípios de uma API REST”, Medium. Disponível em: [link]. Acessado em: 31 de agosto de 2025.
TestDriven.io (2022) “Deploying a Flask App to Render”.
The Pallets Projects (s.d.) “Flask Documentation”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Towards Data Science (2022) “Essentials for Working With Firestore in Python”.
UDS Tecnologia (2021) “Desenvolvimento de software em camadas - funcionamento e vantagens”, Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Unicamp (s.d.) “Uma proposta de arquitetura para o protocolo NETCONF sobre SOAP”, Repositório Unicamp. Disponível em: [link]. Acessado em: 31 de agosto de 2025.
Vaithilingam, P., Zhang, T., and Glassman, E. L. (2022). Expectation vs. experience: Evaluating the usability of code generation tools powered by large language models. In Extended Abstracts of the 2022 CHI Conference on Human Factors in Computing Systems. ACM.
Valente, M. T. (2020) “Engenharia de software moderna. Princípios e práticas para desenvolvimento de software com produtividade”.
Wolf, W. (2001). Computers as Components: Principles of Embedded Computing System Design. Morgan Kaufmann. Livro-texto clássico sobre sistemas embarcados.
WORLDSEMI (2013). Ws2812b intelligent control led – datasheet. [link]. Acesso em: 1 de setembro de 2025.
Downloads
Data de publicação
Licença

Este trabalho está licenciado sob uma licença Creative Commons Attribution 4.0 International License.
