* Grade ainda em construção, alterações poderão ser feitas sem aviso prévio.

Parte 1 – Fundamentos do Python

1. Como o computador funciona

- Processador, HD e memória

- Arquivos, extensões e código binário

- Interface gráfica, terminal e linha de comando


2. Internet e protocolo HTTP

- Domínio, IP e DNS

- Arquitetura cliente e servidor

- Protocolo HTTP

- Navegador e os 3 idiomas (HTML, CSS, JS)


3. Introdução ao Python

- Instalando o Python

- O que é Python

- Configurando o VSCode

- Tipos e variáveis

- Aula ao vivo: consultando a documentação da linguagem


4. Operações no Python

- Operadores aritméticos

- Operadores relacionais

- Operadores lógicos

- Recebendo input do usuário


5. Controle de fluxo

- Condicionais: if, else, elif

- Repetição: while

- (LIVE) Exercícios de lógica de programação


6. Estruturas de dados

- Listas

- Tuplas

- Conjuntos

- Dicionários

- Percorrendo estruturas de dados: for

- (LIVE) Algoritmos e estruturas de dados


7. Funções

- Definindo funções

- Funções que retornam valores

- Argumentos com valor padrão

- Aula ao vivo: aprofundando em funções


8. Imutabilidade, valor e referência

- Objetos imutáveis, valor e referência

- Objetos mutáveis


9. Classes e módulos

- Definindo classes

- Construtores

- Métodos de classe e métodos estáticos

- Criando a classe Evento

- Atributo de classe e f-strings

- Herança

- Importando módulos

- Aula ao vivo: teoria de programação orientada a objetos


Parte 2 – Desenvolvimento Web

1. Desenvolvendo uma API HTTP

- Revisão protocolo HTTP

- Implementando um servidor HTTP

- Exibindo lista de eventos

- Retornando eventos como JSON


2. Ferramentas do desenvolvedor de APIs

- Interagindo com nossa API via cURL

- Utilizando o Postman

- Google Chrome Developer Tools

- Extensões VSCode

- Aula ao vivo: Git e GitHub


3. REST API com Flask

- O que é uma API REST

- Introdução ao Flask

- Listar eventos

- Detalhes do evento

- Criar um novo evento

- Deletar um evento

- Editar um evento

- Limitações do Flask

- Aula ao vivo: banco de dados


4. Desenvolvimento Web com Django

- Arquitetura MVC e MVT

- Criando nosso projeto

- Criando o modelo Evento

- Utilizando o shell

- Django Admin

- Listar eventos

- Criar um novo evento

- Formulários no Django

- Autenticação e autorização

- Escrevendo testes para nossa aplicação

- Aula ao vivo:deploy da aplicação?


5. Desenvolvimento orientado a testes

- Por que testar?

- A biblioteca unittest

- Configurando a suíte de testes

- Testes unitários e de integração

- (LIVE) TDD


6. APIs REST com Django Rest Framework

- Instalando a biblioteca rest_framework

- Criando rotas de /api

- Seguindo o padrão REST

- Serializers

- ModelSerializers

- Validação customizada

- Escrevendo testes para nossa API

- Autenticação


7. Eventos 2.0

- Novos casos de uso

- Paginação

- Cache

- Autorização


8. Processamento assíncrono

- async no Python

- Celery: fila de tarefas

- Gerando relatórios em CSV


9. Revisão do projeto

- Aula ao vivo: tema a definir


Parte 3 – Boas práticas

- Formatadores/Linters

- CI/CD

- Observability (Sentry, analisar stack de erros, logs)

- Test-Driven Development

- Git “a fundo”

- Docker​