Jornada de Dados: da origem à decisão com Python: A jornada de dados na prática, com Python: a partir de uma base real de vendas de um café, cheia de defeitos, o dado percorre captura, ingestão, armazenamento, tratamento, análise, uso e descarte até virar decisão. Pandas, Parquet, DuckDB, matplotlib, arquitetura medalhão, qualidade de dados, LGPD e Conventional Commits, com exercícios.
AWS na Prática: construindo uma arquitetura escalável na nuvem: Uma introdução à computação em nuvem e à AWS feita com as mãos no console. Em sete fases, um sistema de telemetria para estufas agrícolas ganha servidor virtual, bancos NoSQL e relacional, armazenamento de objetos, balanceamento de carga, escalonamento automático, monitoramento e camadas de segurança.
Duelo de Cartas: aplicação web e CI/CD com GitLab na AWS: Construa o Duelo de Cartas, uma aplicação web responsiva com HTML, CSS, JavaScript e Bootstrap, API Node.js com autenticação JWT e persistência no DynamoDB, publicada no Amazon S3 e no Elastic Beanstalk por um pipeline GitLab CI/CD com lint, testes unitários e de integração.
Back End com Dart: APIs REST, MySQL, Docker e boas práticas: Construa uma API REST completa em Dart com shelf, do primeiro servidor HTTP até a aplicação rodando em contêineres: configuração externalizada, arquitetura em camadas, MySQL, modelo de maturidade de Richardson, HATEOAS, OpenAPI e Docker Compose.
Programação assistida por agentes: consertando um app Expo com Copilot e MCP: Use o GitHub Copilot em modo Agent, com AGENTS.md e o servidor MCP do Expo, para consertar cinco defeitos de um app React Native de lista de compras e implementar uma funcionalidade com um SDK desconhecido, sempre escrevendo o critério antes do prompt e verificando no app rodando.
Data Warehouse com PostgreSQL: star schema passo a passo: Construa um Data Warehouse no PostgreSQL a partir do dataset Supermarket Sales: conceitos de OLTP e OLAP, formas normais, ETL e ELT, modelagem dimensional de Kimball, camadas raw, staging e dw, star schema, cursor e trigger em PL/pgSQL, consultas analíticas e cubo OLAP.
Introdução ao Python para análise de dados: Introdução prática a Python para análise de dados, do zero ao pandas: variáveis, texto, coleções, decisões, laços, funções, tratamento de erros, DataFrames, limpeza, groupby, merge, a base Iris, uma mini-análise e gráficos, com exercícios e gabarito.
Exercícios: lógica básica em Java: Nove exercícios resolvidos de lógica básica em Java, com programas sequenciais, de seleção (if/else e switch-case) e de repetição (while, for e do-while), usando JOptionPane e Scanner.
Tabela hash: conceitos, implementação e uso em Java: Entenda como uma tabela hash transforma uma chave em um endereço de acesso direto, trate colisões por encadeamento separado, implemente a estrutura em Java passo a passo e use HashMap e LinkedHashMap da biblioteca padrão.
Busca em largura e busca em profundidade: Estude a busca em largura (BFS) e a busca em profundidade (DFS) no estilo CLRS, com o esquema de cores, simulações passo a passo, pseudocódigo, análise Θ(|V| + |E|) e implementações iterativas e recursivas em Java.
Algoritmos gulosos: seleção de intervalos: Conheça os algoritmos gulosos pelo problema da seleção de intervalos: veja por que três critérios intuitivos falham, por que o menor tempo de término funciona, analise a complexidade Θ(n log n) e implemente a solução em Java.
O protocolo HTTP: entendendo a comunicação na Web: Entenda como a comunicação na Web funciona com o protocolo HTTP: modelo cliente–servidor, anatomia de requisições e respostas, códigos de status, métodos GET, POST, PUT, PATCH e DELETE, URLs, a natureza stateless e o HTTPS.
Vetores e coleções em Java: Trabalhe com vetores em Java (preenchimento, busca linear, maior e menor valor), entenda suas limitações e passe para ArrayList e Generics, construindo um gerenciador de playlist ordenado com Comparable e Comparator.
Estruturas de dados básicas e complexidade: Estude arrays, listas ligadas simples e duplamente ligadas, pilhas e filas no estilo CLRS, com simulações das operações, análise de complexidade e implementações em Java.
React: componentes funcionais e o hook useState: Entenda o que é estado, compare componentes de classe e funcionais e use o hook useState em um contador e na aplicação Estação Climática, com React, Vite, Bootstrap e a Geolocation API.
React: o hook useEffect: Aprenda o hook useEffect do React: efeitos colaterais, array de dependências, função de limpeza, timers com setInterval e renderização condicional, evoluindo a aplicação Estação Climática com componentes EstacaoClimatica e Loading.
React e Vite: contador publicado no GitHub Pages: Construa um contador interativo com React, Vite e o hook useState, gere o build de produção e publique a aplicação no GitHub Pages com o pacote gh-pages.
Merge Sort: análise de complexidade: Estude o Merge Sort no estilo CLRS: o paradigma dividir para conquistar, o procedimento Merge com sentinelas, sua prova de corretude, a recorrência T(n) = 2T(n/2) + Θ(n) resolvida pela árvore de recorrência e a implementação em Java.
Insertion Sort: análise de complexidade: Estude o Insertion Sort no estilo CLRS: pseudocódigo, implementação em Java, prova de corretude por invariante de laço e análise do tempo de execução nos casos melhor, pior e médio.
React: componentes, JSX e Vite: Dê os primeiros passos com React: entenda o que são componentes, crie um projeto com Vite, conheça sua estrutura, defina seu primeiro componente e compare HTML com JSX, incluindo estilos, variáveis e funções.
POO em Java: jogo do personagem na ilha: Desenvolva um pequeno jogo em Java com um personagem isolado em uma ilha, evoluindo de uma classe simples para regras de negócio, encapsulamento e construtores, e reescreva o código com Lombok (Builder) e com Records do Java 16.
Projeto do semestre: Data Warehouse do zero ao dashboard: O roteiro do projeto do semestre de Data Warehouse, do zero ao dashboard: dados reais do Kaggle, modelagem dimensional snowflake e star no PostgreSQL, ETL com Python e Pandas, consultas analíticas em SQL e dashboards no Power BI.
Introdução a Data Warehouse: Os principais conceitos de Data Warehouse (origem do termo, princípios, Data Lake, Data Virtualization, tabelas fato e dimensão, ETL e ELT) e a construção de um primeiro DW no PostgreSQL com um processo de ETL em Python.
Exercícios: lembretes favoritos em Flutter: Exercício de Flutter guiado por commits: construa um aplicativo de lembretes com cadastro, listagem, remoção, favoritos e filtro, publicado com tag e pull request.
React Native: custom hooks: Crie seu primeiro custom hook em React Native com TypeScript, encapsulando o estado e as operações de um contador para reutilizá-los em diferentes partes da aplicação.
React Native: custom hook para a API OpenWeather: Isole num custom hook a lógica de acesso à API de clima do OpenWeather, com estados de carregamento e erro, e use-o num app React Native com TypeScript.
Exercícios: caminhos mínimos, árvores geradoras e heaps: Listas de exercícios práticos sobre grafos ponderados e heaps: caminhos mínimos com Dijkstra e Bellman-Ford, árvores geradoras mínimas com Kruskal e Prim, fila de prioridades com heap e Dijkstra com heap implementado à mão, em Java.
Teoria dos Grafos: conceitos e representações: Conheça os principais conceitos da Teoria dos Grafos: definição formal, função de incidência, vizinhança e grau, loops e arestas paralelas, famílias de grafos e as representações por matriz de incidências, matriz de adjacências e listas de adjacências.
Notação assintótica: O, Ômega e Teta: Entenda como o tempo de execução de um algoritmo cresce com o tamanho da instância, defina formalmente as notações O, Ômega e Teta e aplique-as na análise de programas Java.
React Native: introdução e Hello World: Conheça o React Native, entenda como ele se relaciona com o React, compare Expo CLI e React Native CLI e crie seu primeiro app com o Expo, executando-o no navegador.
React Native: aplicação de lembretes: Desenvolva com React Native, Expo e TypeScript um app de lembretes com CRUD completo em memória, usando TextInput, Pressable, FlatList, ícones do Expo e o hook useState.
Flutter: gerenciamento de estado com o padrão Bloc: Aprenda a gerenciar o estado de aplicações Flutter com o padrão Bloc, construindo uma tela de login com validação por streams, Provider baseado em InheritedWidget, combinação de streams com RxDart e exibição de Toast.
Imagens em projetos Java com Maven e NetBeans: Exiba imagens em um projeto Java com Swing criado no NetBeans e gerenciado pelo Maven, guardando as figuras em src/main/resources, usando-as como ícone de um JLabel e como imagem de fundo de um JFrame.
ChatGPT: back end com NodeJS: Desenvolva um back end com NodeJS e express que recebe um prompt, repassa-o ao ChatGPT usando a biblioteca da OpenAI e devolve a resposta ao cliente, com a chave de API guardada no .env.
Django: autenticação e autorização com DRF e JWT: Use a aplicação de autenticação do Django com o Django Rest Framework para cadastrar usuários com validação de senha e fazer login com tokens JWT (access e refresh), usando um PostgreSQL na nuvem (Aiven).
Django: API REST de filmes com Django Rest Framework e PostgreSQL: Desenvolva com Django e Django Rest Framework uma API REST de filmes persistida no PostgreSQL, com serializers, views genéricas, migrações, variáveis de ambiente com django-environ, relacionamento 1xN com gêneros e uma estrutura de pastas refatorada.
Flutter: uma tela responsiva com LayoutBuilder e abas: Construa uma tela responsiva em Flutter com LayoutBuilder, que exibe abas (TabBar e TabController) em telas pequenas e os conteúdos lado a lado em telas grandes, e entenda os mixins de Dart e o SingleTickerProviderStateMixin.
Exercícios: aplicativo de previsão do tempo em Flutter: Exercício de Flutter: desenvolva um aplicativo que busca e exibe as previsões do tempo de uma cidade usando a API do OpenWeatherMap, com puxar para atualizar e, como desafio, busca por GPS.
AWS Serverless 06: Front End no S3 e CDN com CloudFront: Implante no Amazon S3 a aplicação Front End em React que consome a API de livros, configurando o bucket como site estático, com política de leitura pública e CORS. Depois, distribua o site por uma CDN com o Amazon CloudFront.
AWS Serverless 05: Endpoints da API de livros com uma única Lambda: Complete a API de livros com os endpoints GET /livros e GET /livros/{id}, usando uma única função Lambda que decide o que fazer a partir do método HTTP. Depois, refatore o código em módulos e troque o if/else por um mapa de funções.
AWS Serverless 04: persistência com DynamoDB: Conheça o modelo de dados do Amazon DynamoDB, crie a tabela de livros e itens pelo console e faça a função Lambda (Node.js, AWS SDK v3, async/await) inserir livros recebidos pelo POST /livros do API Gateway.
Flutter: aplicativo de fotos com a API da Pexels: Construa com Flutter um aplicativo que exibe fotos obtidas por requisições HTTP à API da Pexels, aprendendo widgets básicos, StatelessWidget e StatefulWidget, JSON, classes de modelo, Futures e async/await.
Bootstrap 5: Grid System: Entenda o Grid System do Bootstrap 5 e construa páginas responsivas com containers, linhas, colunas, breakpoints, ordenação, deslocamento e alinhamento com flexbox.
AWS Serverless 01: introdução e Amazon API Gateway: Entenda o que é computação serverless (FaaS, BaaS e PaaS) e crie sua primeira API REST com o Amazon API Gateway no AWS Academy Learner Lab, usando uma integração Mock, implantação em stage e testes.
AWS Serverless 02: funções Lambda e a API loja-livros: Crie sua primeira função AWS Lambda em Node.js, teste-a com eventos Mock, entenda as fases de requisição e resposta do API Gateway e crie a API loja-livros com o recurso /livros, CORS e um método POST integrado à função Lambda.
AWS Serverless 03: Lambda Proxy, mapping templates e validação no API Gateway: Reorganize a API de livros no padrão REST, crie o método POST integrado a uma função Lambda e explore os quadros de integração do API Gateway: Lambda Proxy Integration, logs no CloudWatch, mapping templates de requisição e de resposta, modelos JSON Schema e validação de requisições.
ChatGPT com Java: gerando perguntas: Crie um projeto Java com Maven no VS Code que conversa com a API do ChatGPT para gerar perguntas de alternativas, usando Apache Commons Configuration, Lombok, GSON e OkHttp.
ChatGPT com Python: análise de sentimentos: Escreva um programa Python que usa a API da OpenAI para que o ChatGPT diga se uma frase digitada pelo usuário expressa sentimento positivo, neutro ou negativo.
Introdução ao Dart, parte 3: coleções: Estude as coleções de Dart: listas, tuplas (records), conjuntos e mapas, null safety em listas, o operador as, coleções de coleções, collection-if, collection-for, operador spread e cópia de coleções.
Introdução ao Dart, parte 2: repetição, entrada de dados e um jogo: Continue os estudos de Dart com estruturas de repetição, enums, instalação local do SDK com VS Code, entrada e saída de dados, casas decimais, valores aleatórios e um jogo de pedra, papel e tesoura no terminal.
Introdução ao Dart, parte 1: tipos, operadores e seleção: Dê os primeiros passos na linguagem Dart: DartPad, tipos de dados, strings, conversões, operadores, var/final/const, if/else e switch/case (incluindo switch expressions e patterns).
Exercício: lembretes com Docker, Kubernetes e Skaffold: Exercício prático de implantação da aplicação de lembretes baseada em microsserviços Node.js, usando Docker para gerar imagens e executar contêineres e Kubernetes para a implantação completa.
Interfaces gráficas em Java (parte 4): alunos por curso com JTable: Quarta parte da série de interfaces gráficas em Java - modele o relacionamento entre alunos e cursos (conceitual, lógico e físico no MySQL), aprenda a usar a JTable com TableModel e exiba os alunos de um curso em uma nova tela.
Git com Python: introdução: Entenda como o Git faz controle de versão (commits, HEAD, branches, tags e remotes) e pratique construindo uma calculadora em Python, versão a versão, até publicá-la com tags no GitLab.
VS Code: instalação e vínculo a uma pasta: Instale o VS Code no Windows, crie uma pasta de trabalho na pasta do usuário, vincule o editor a ela e abra um terminal integrado.
World Wide Web: histórico e versões do HTML: Conheça a origem da World Wide Web, os navegadores que marcaram sua história e a evolução das versões da linguagem HTML, do HTML Tags de 1991 ao HTML5.
HTML5: elementos básicos: Monte suas primeiras páginas em HTML5 no VS Code com o Live Server, entendendo elementos e tags, listas, estrutura do documento, encoding, DOCTYPE, idioma, links, imagens, áudio, vídeo, iframe, SVG, caracteres especiais e elementos estruturais com e sem semântica.
HTML: formulários, tabelas, ARIA e microdados: Continue seus estudos de HTML construindo formulários com input, label, textarea, select, radio e checkbox, tabelas de dados semânticas, barras de progress e meter, e conheça WAI-ARIA e os microdados do schema.org.
Aplicação Full Stack com HTML, JavaScript, Node.js e MongoDB: Construa uma aplicação Full Stack de gerenciamento de filmes com Front End em HTML, CSS, JavaScript e Bootstrap, Back End em Node.js com Express e persistência no MongoDB Atlas, incluindo cadastro de usuários com bcrypt e login com JWT.
Java e APIs REST: requisições HTTP ao Oracle Cloud: Crie no VS Code uma aplicação Java que consome uma API REST de cadastro de pessoas no Oracle Cloud com HttpClient, usando Lombok, arquivo properties, .gitignore e a biblioteca org.json para tratar o JSON.
GraphQL: argumentos, coleções e relações: Evolua sua API GraphQL em Node.js para receber argumentos, trabalhar com coleções nos dois sentidos (servidor para cliente e cliente para servidor), filtrar resultados e modelar relações entre tipos.
GraphQL: mutations de atualização: Complete o CRUD da sua API GraphQL com mutations de atualização para pessoas, livros e comentários, usando novos tipos input com campos opcionais e Object.assign nos resolvers.
GraphQL: introdução e primeira API: Entenda de onde vem o GraphQL (do conteúdo estático ao REST e suas limitações) e crie sua primeira API GraphQL com Node.js, Babel e GraphQL Yoga: queries, tipos escalares, tipos customizados e live reload com nodemon.
GraphQL: mutations e o tipo input: Use mutations GraphQL para inserir pessoas, livros e comentários, gere ids com uuid, envie valores por variáveis (no Playground e no Postman) e agrupe parâmetros com o tipo input.
GraphQL: relações entre tipos: Modele relações entre tipos customizados em uma API GraphQL com Node.js: pessoas, livros e comentários, com resolvers de tipo que usam o parâmetro parent para navegar nos dois sentidos de cada relação.
GraphQL: mutations de remoção e organização do projeto: Implemente mutations de remoção de pessoas, livros e comentários (com remoção em cascata) e reorganize a API GraphQL em arquivos: schema.graphql, db.js, o objeto context e um arquivo por tipo de resolver.
GraphQL: subscriptions: Entenda server polling, push notifications e publish-subscribe e implemente subscriptions GraphQL com createPubSub do GraphQL Yoga: um dado lançado a cada dois segundos e notificações de inserção, atualização e remoção de livros e comentários.
NodeJS: introdução e instalação: Conheça o NodeJS, o npm e o npx, entenda o papel do NodeJS do lado do servidor e faça a instalação usando um gerenciador de versões (nvm).
React: ciclo de vida de componentes: Estude o ciclo de vida de componentes React definidos com classes (construtor, render, componentDidMount, componentDidUpdate e componentWillUnmount), passe estado via props, use timers com limpeza, exiba um spinner e defina valores padrão com defaultProps.
React: definição de componentes usando classes: Aprenda a definir componentes React com classes, usar o estado (this.state e setState) e a Geolocation API, construindo a aplicação Estação Climática com Bootstrap e Font Awesome.
React: forms, eventos, requisições HTTP e listas: Construa uma busca de imagens com React: formulários, componentes controlados, tratamento de eventos, requisições HTTP à API da Pexels (com o pacote pexels e com axios), variáveis de ambiente, listas com key e grid responsivo da PrimeFlex.
React: Hooks na prática: Estude os Hooks do React construindo um Accordion com useState e uma busca na Wikipédia com useEffect, axios, dangerouslySetInnerHTML (e o risco de XSS) e debounce com setTimeout e função de limpeza, usando PrimeReact e PrimeFlex.
React: componentes e props: Entenda o mecanismo props do React construindo uma lista de pedidos com Bootstrap e Font Awesome, refatorando-a em componentes reutilizáveis (Pedido, Cartao e Feedback) e usando a propriedade children.
React com Redux: react-redux: Integre o Redux a uma aplicação React com a biblioteca react-redux: criadores de ação, reducers, Provider, connect e mapStateToProps em uma lista de pessoas com detalhes, usando PrimeReact e PrimeFlex.
Redux: fundamentos: Entenda o ciclo do Redux (criadores de ação, ações, dispatch, reducers e state) com a analogia de uma empresa de cartões com cashback e implemente-o em JavaScript puro com createStore e combineReducers.
NodeJS: acesso a bases de dados MySQL: Acesse uma base de dados MySQL a partir do NodeJS com o pacote mysql2 e o express, construindo endpoints de médicos, pacientes e consultas, com placeholders, dotenv e pool de conexões.
Microsserviços, parte 1: arquitetura e barramento de eventos: Conceitos de arquitetura de software e de microsserviços, e a construção, com Node.js e Express, dos microsserviços de lembretes, observações e consulta, comunicando-se por um barramento de eventos implementado do zero.
Microsserviços, parte 2: classificação, eventos perdidos e Docker: Continue a aplicação de lembretes em microsserviços com Node.js criando o microsserviço de classificação de observações, tratando eventos perdidos no barramento de eventos, comparando estratégias de implantação e executando cada microsserviço em um contêiner Docker.
Microsserviços, parte 3: orquestração com Kubernetes: Conheça a arquitetura do Kubernetes, pratique com o kubectl (Deployments, Pods, Services, rótulos, escalabilidade e rolling updates) e implante os microsserviços de lembretes e o barramento de eventos no cluster com arquivos de configuração, imagens no Docker Hub e serviços NodePort e ClusterIP.
CSS: mais recursos (display, Box Model e responsividade): Aprofunde-se em CSS com as propriedades display, border, padding e margin, o Box Model e o box-sizing, e dê os primeiros passos em responsividade com unidades de medida, ViewPort, layouts fluidos e Media Queries.
Introdução a CSS: Aprenda os fundamentos de CSS na prática: CSS inline, elemento style e arquivo externo, seletores por tipo, id e classe, seletores descendentes e de filhos diretos, efeito em cascata, especificidade, cores, fontes (inclusive Google Fonts) e inspeção de estilos com o Chrome DevTools.
Transações no PostgreSQL: Transações no PostgreSQL: as propriedades ACID, os comandos BEGIN, COMMIT, ROLLBACK e SAVEPOINT, o isolamento entre duas conexões no pgAdmin, a opção Auto commit e a recuperação quando a conexão é perdida.
PL/pgSQL: cursores: Cursores em PL/pgSQL: percorrer o resultado de uma consulta linha a linha com cursores não vinculados e vinculados, queries dinâmicas, parâmetros, FOUND, FETCH, UPDATE/DELETE com WHERE CURRENT OF e SCROLL, usando uma base de canais do YouTube.
Relatórios de referência cruzada com crosstab: Relatórios de referência cruzada (tabelas pivô) no PostgreSQL com a função crosstab da extensão tablefunc: notas de alunos por disciplina e dias de chuva por localização e ano, carregados com o psql.
GitLab CI com Spring Boot: CRUD de livros do build à implantação: Desenvolva uma API Spring Boot para manipulação de livros e construa um pipeline GitLab CI completo: build com Gradle, teste ping pong, análise estática com PMD, testes unitários com JUnit e implantação no AWS Elastic Beanstalk (via S3 e AWS CLI) e no Heroku.
PL/pgSQL: triggers: Triggers em PL/pgSQL: eventos, momentos (BEFORE, AFTER, INSTEAD OF) e níveis (ROW, STATEMENT), funções de trigger, variáveis especiais como NEW, OLD e TG_ARGV, o papel do RETURN e um sistema com validação e auditoria.
Redux: o ciclo do estado centralizado: Entenda o ciclo do Redux (criadores de ação, ações, dispatch, reducers e state) por meio de uma analogia com uma empresa de cartões com cashback e implemente-o em JavaScript puro no StackBlitz.
Projeto: CSV, stored procedures e functions em PL/pgSQL: Mini-projeto de PL/pgSQL: importar uma base de desempenho de estudantes (CSV do Kaggle) para uma tabela com COPY e escrever stored procedures e functions que respondem perguntas sobre os dados.
PL/pgSQL: functions: Functions em PL/pgSQL: criação com CREATE FUNCTION e RETURNS, formas de chamar (SELECT, PERFORM, atribuição), funções recebidas por nome e executadas com EXECUTE e format, as operações "existe" e "todos" sobre coleções VARIADIC e um pequeno sistema bancário.
React Native: consumo de Web Services: Construa um app React Native que consome o Web Service de previsão do tempo do OpenWeatherMap com fetch e exibe as previsões em uma FlatList de cartões com ícones.
Java e bancos de dados: CRUD com JDBC e MySQL: Persista objetos Java em um banco MySQL, aprendendo o modelo relacional, os comandos SQL básicos, o driver JDBC via Maven e as operações de cadastro, atualização, remoção e listagem com PreparedStatement.
Java e MySQL com JDBC no VS Code: Crie no VS Code um projeto Java que se conecta ao MySQL com JDBC, adicionando o driver como biblioteca referenciada, tratando exceções com try/catch e inserindo dados com PreparedStatement.
PL/pgSQL: stored procedures: Stored procedures em PL/pgSQL: blocos armazenados no servidor, CREATE PROCEDURE e CALL, parâmetros IN, OUT, INOUT e VARIADIC, e a implementação do funcionamento básico de um restaurante com procedimentos.
POO em Java: herança: Reutilize código com herança em Java modelando um sistema acadêmico com pessoas, alunos e professores; entenda a nomenclatura, a relação entre herança e encapsulamento, os construtores com super e a classe Object.
POO em Java: sobrecarga de métodos: Implemente uma calculadora em Java e use a sobrecarga de métodos para que vários métodos soma coexistam, entendendo os critérios de quantidade, tipo e ordem dos parâmetros.
PL/pgSQL: estruturas de repetição e exceções: As estruturas de repetição da linguagem PL/pgSQL (LOOP, WHILE, FOR e FOREACH), com EXIT, CONTINUE, rótulos, iteração sobre resultados de SELECT e fatias de arrays com SLICE, além do tratamento de erros com EXCEPTION.
Introdução à programação orientada a objetos em Java: Entenda classes, objetos, atributos e métodos, construa passo a passo um livro de notas em Java (parâmetros, variáveis de instância, getters/setters e construtores), veja como os objetos ficam na memória da JVM e represente as classes em UML.
PL/pgSQL: blocos anônimos, estrutura sequencial e aritmética: Os blocos anônimos da linguagem PL/pgSQL: estrutura, delimitação com aspas e com $, execução com DO, RAISE NOTICE com placeholders, variáveis, operadores aritméticos e geração de valores aleatórios com random.
Java: strings: Conheça as strings em Java, aprenda a consultar o javadoc da classe String e pratique os métodos length, format, charAt, concat, toLowerCase, toUpperCase, equals, equalsIgnoreCase e compareTo.
PL/pgSQL com PostgreSQL e pgAdmin 4: introdução: Primeiros passos com PostgreSQL e pgAdmin 4: o padrão SQL e suas extensões (como PL/pgSQL), a arquitetura cliente/servidor, o cadastro de um servidor no pgAdmin, o Query Tool e um primeiro teste com criação de tabela, inserção e consulta.
Login com Python 3 e PostgreSQL: Uma aplicação Python 3 que se conecta ao PostgreSQL com o módulo psycopg para fazer login: criação da base e da tabela de usuários no pgAdmin, configuração do ambiente (Anaconda, VS Code, PATH do Windows) e um menu de login e logoff.
Java: estruturas de seleção: Faça programas Java tomarem decisões com if/else (simples, encadeado e aninhado), switch/case com e sem lógica em queda e o operador ternário, partindo de pseudocódigo e fluxogramas.
Java: variáveis, entrada e saída: Escreva programas Java de sequência simples (entrada, processamento e saída) usando variáveis de tipos primitivos, operadores aritméticos e as caixas de diálogo da classe JOptionPane.
Revisão do modelo relacional: Revisão do modelo relacional: tabelas, diferenças em relação a arquivos comuns, chaves primárias, estrangeiras e alternativas, e as restrições de integridade impostas pelas chaves estrangeiras.
Projeto lógico: do modelo ER ao modelo relacional: Como transformar um modelo entidade-relacionamento em um modelo relacional: implementação de entidades, relacionamentos identificadores, relacionamentos 1x1, 1xN e NxN (fusão de tabelas, tabela própria e adição de colunas) e hierarquias de generalização/especialização.
GitLab CI: um pipeline para fazer um bolo: Crie seu primeiro pipeline no GitLab CI/CD para "fazer um bolo": escreva jobs no .gitlab-ci.yml, organize-os em stages, preserve arquivos com artefatos e depure falhas lendo os logs.
DevOps: introdução: Conheça as principais características do DevOps: dos modelos em cascata e ágil à integração contínua, pipelines, entrega contínua e implantação contínua, com um estudo de caso real.
DevOps: de onde veio o nome?: Conheça a sequência de eventos, de 2007 a 2009, que deu origem ao termo "DevOps": Patrick Debois, a Agile Infrastructure, a palestra do Flickr na Velocity 09 e o primeiro DevOpsDays.
Lógica de programação e introdução ao Java: Hello, World: Entenda o que são lógica, algoritmos e linguagens de programação, como a CPU conversa com a memória (da linguagem de máquina ao alto nível) e dê os primeiros passos com a plataforma Java.
Modelagem ER: entidades, relacionamentos e cardinalidade: Revisão dos conceitos básicos da modelagem de dados com a abordagem entidade-relacionamento: entidades, relacionamentos, auto-relacionamentos, papéis e cardinalidades mínima e máxima.
POO em Java: polimorfismo: Entenda os tipos de polimorfismo em Java, use variáveis polimórficas e sobrescrita de métodos e reescreva um sistema de folha de pagamento para respeitar os princípios da alta coesão e do aberto/fechado.
Java: estruturas de repetição: Repita trechos de código com as estruturas while, for e do/while em Java, partindo de pseudocódigo e fluxogramas, e pratique com exercícios resolvidos e propostos.
Desenvolvimento com JavaScript: Aprenda os fundamentos da linguagem JavaScript: variáveis, tipos, coerção, comparação, vetores, funções, closures, JSON e o modelo de execução síncrona e assíncrona, com callbacks, promises e async/await.
Node.js: instalação com NVM: Instale o Node.js por meio do NVM (Node Version Manager), evitando problemas de permissão e mantendo várias versões do Node lado a lado.
React Native: jogo de adivinhação (parte 1): Comece um jogo de adivinhação de números com React Native e Expo, criando componentes próprios (Cabecalho, Cartao, Entrada), telas, estilos com sombra e elevação e cores centralizadas.
React Native: jogo de adivinhação (parte 2): Termine o jogo de adivinhação com React Native: validação da entrada, estado com useState, teclado, alertas, a tela do jogo com palpites do computador (useRef e useEffect) e a tela de fim de jogo.
Recursos nativos com React Native (parte 2): Redux e câmera: Continue o app de lugares com React Native: estado centralizado com Redux (actions, reducers, useDispatch e useSelector), lista de lugares e fotos com a câmera do dispositivo via expo-image-picker.
React: desenvolvendo um jogo da velha: Desenvolva no CodePen o jogo da velha do site oficial do React, aprendendo componentes de função e de classe, props, estado, JSX e a detecção de vencedor.