Caipyra 2025

Escolhas que importam: conceitos que salvam seu código
20/06/2025 , Sala Paçoquinha

Muitos ignoram conceitos fundamentais, mas entender memoization, árvores binárias e a escolha certa de um banco NoSQL pode tornar seu código mais eficiente, escalável e produtivo.


Muitos desenvolvedores querem aprender apenas o que é "prático" e ignoram conceitos fundamentais. E se entender melhor estruturas de dados, memoization e árvores binárias de busca fosse a chave para evitar gargalos de performance no seu código ou banco de dados?

Nesta palestra, vamos explorar como boas escolhas – desde estruturas de dados eficientes até a seleção entre bancos SQL e NoSQL – impactam diretamente a produtividade e a performance do software. Você verá como:
✅ Decorador cache pode otimizar chamadas repetitivas em APIs Restful
✅ Árvores binárias de busca explicam por que índices aceleram consultas em bancos
✅ A estrutura de dados correta torna o código mais rápido e legível
✅ Escolher um banco NoSQL pode simplificar o desenvolvimento com dados não estruturados

Se você já pensou "isso é muito teórico, nunca vou usar", esta palestra é para você. Dê uma chance a esses conceitos e descubra como pequenas escolhas podem transformar seu código.


Quais conhecimentos prévios são necessários para que seja possível acompanhar bem a sua atividade?

Conhecimentos prévios recomendados:
✅ Python básico – Saber o que são funções, listas e dicionários.
✅ APIs Restful – Ter uma noção geral de como funciona uma API e requisições HTTP.
✅ Estruturas de dados – Entender pelo menos listas e dicionários (árvores binárias serão explicadas na palestra).
✅ Bancos de dados – Conhecer a diferença básica entre SQL e NoSQL.
✅ Noção de otimização – Saber que algumas abordagens de código podem ser mais eficientes que outras.
Para quem essa palestra é ideal?
🔹 Estudantes de programação que querem entender como conceitos impactam o mundo real.
🔹 Desenvolvedores que já trabalham com APIs e bancos de dados e querem otimizar suas soluções.
🔹 Professores que ensinam programação e desejam melhores formas de conectar teoria e prática.

O que as pessoas que participarem podem esperar aprender na sua atividade?

✅ Compreenda conceitos fundamentais como memoization e árvores binárias para otimizar código e bancos de dados.
✅ Aprenda a escolher a estrutura de dados certa para maior eficiência e legibilidade.
✅ Veja como um banco NoSQL pode simplificar o desenvolvimento e evitar retrabalho.
✅ Tome decisões técnicas mais inteligentes que impactam a performance e escalabilidade do software.

Escolha uma ou mais áreas em que essa proposta se encaixa

Desenvolvimento Web, Arquitetura de software

Fernando Masanori é docente da FATEC São José dos Campos. Criador do Python para Zumbis, membro da PSF e premiado por suas contribuições. Ama dar aulas.