Fase 1: Fundamentos de Python e Programação Estruturada (10 semanas)
Semana 1: Introdução ao Python
• Instalação de Python, VSCode e Jupyter Notebook.
• Primeiros passos no terminal e no Jupyter Notebook.
• Variáveis, tipos de dados (int, float, str, bool).
• Operadores aritméticos e de atribuição.
• Exercícios práticos: Cálculos simples e manipulação de strings.
Semana 2: Controle de Fluxo
• Estruturas condicionais: if, else, elif.
• Operadores lógicos: and, or, not.
• Estruturas de repetição: for, while.
• Comandos de controle de loops: break, continue, pass.
• Projeto prático: Jogo de adivinhação usando if e while.
Semana 3: Estruturas de Dados Básicas
• Listas: criação, manipulação, métodos (append, pop).
• Tuplas e sets: uso de tuplas imutáveis, operações com sets.
• Dicionários: criação, iteração e manipulação de pares chave: valor.
• Projeto prático: Sistema de gerenciamento de listas de tarefas.
Semana 4: Manipulação de Arquivos
• Leitura e escrita de arquivos de texto (open, read, write).
• Introdução ao módulo csv para leitura de arquivos CSV.
• Laboratório 1: Criar um script que lê um CSV de vendas e gera um relatório
básico.
Semana 5: Funções e Módulos
• Criação de funções, parâmetros e retorno.
• Funções lambda e compreensão de listas.
• Uso de módulos e bibliotecas padrão (math, random).
• Projeto prático: Criar uma calculadora modular que permite operações
matemáticas básicas.
Semana 6: Programação Orientada a Objetos (POO) Parte 1
• Conceitos de POO: classes e objetos.
• Métodos e atributos de instância.
• Construtores (__init__).
• Exercícios práticos: Implementar classes simples para representar produtos.
Semana 7: Programação Orientada a Objetos (POO) Parte 2
• Conceitos avançados: herança, polimorfismo.
• Encapsulamento: uso de atributos privados e protegidos.
• Laboratório 2: Criar um sistema de biblioteca usando classes e herança.
Semana 8: Tratamento de Exceções e Revisão
• Introdução ao tratamento de exceções: try, except, finally.
• Revisão de conceitos de POO e manipulação de arquivos.
• Projeto prático: Desenvolver um sistema de gerenciamento de alunos e notas.
Semana 9: Integração de Conceitos
• Integração de leitura e escrita de arquivos com POO.
• Criação de um sistema de cadastro de clientes usando classes e arquivos CSV.
• Documentação básica de classes e métodos.
Semana 10: Projeto Integrador de Fundamentos
• Desenvolvimento de um sistema de controle de estoque usando POO e
manipulação de arquivos.
• Geração de relatórios simples de movimentação de estoque.
• Apresentação do projeto: Revisão do código, apresentação das funcionalidades
e melhorias sugeridas.
Fase 2: Bibliotecas Essenciais e Visualização de Dados (10 semanas)
Semana 11: NumPy - Operações Numéricas
• Criação e manipulação de arrays.
• Operações matemáticas: soma, média, desvio padrão.
• Projeto prático: Cálculo de métricas de desempenho de uma empresa usando
numpy.
Semana 12: SciPy - Cálculos Científicos
• Introdução ao scipy: integração, interpolação.
• Resolução de sistemas de equações lineares.
• Projeto prático: Simulação de um sistema físico simples, como movimento de
um pêndulo.
Semana 13: pandas - Manipulação de Dados
• Leitura de arquivos CSV e Excel com pandas.
• Manipulação de DataFrames, filtros e seleções.
• Laboratório 3: Análise exploratória de um dataset de vendas usando pandas.
Semana 14: pandas Avançado
• Agrupamentos (groupby), junções (merge), e pivot.
• Criação de gráficos simples a partir de DataFrames.
• Projeto prático: Análise de vendas por categoria e geração de relatórios de
desempenho.
Semana 15: Matplotlib - Visualização de Dados Básica
• Criação de gráficos de linha, barra e dispersão.
• Personalização de gráficos: cores, legendas, títulos.
• Projeto prático: Visualização de tendências de vendas em um dataset de vendas.
Semana 16: Seaborn - Visualização Avançada
• Criação de heatmaps, pair plots, box plots.
• Análise de correlações entre variáveis.
• Projeto prático: Análise de dados de clientes com gráficos de dispersão e
correlação.
Semana 17: Plotly - Dashboards Interativos
• Criação de gráficos interativos.
• Dashboards com Dash para visualização de dados.
• Projeto prático: Criação de um dashboard para análise de desempenho de
vendas.
Semana 18: Geração de Relatórios e PDFs
• Uso de ReportLab para criar PDFs.
• Criação de documentos com gráficos e tabelas.
• Mini-projeto: Geração de um relatório financeiro em PDF com gráficos de
desempenho.
Semana 19: Automação de Relatórios em PDF
• Uso de fpdf para geração de PDFs simples.
• Automação de relatórios mensais de vendas com gráficos.
• Projeto prático: Sistema automatizado de relatórios de desempenho exportado
para PDF.
Semana 20: Revisão de Visualização de Dados e Relatórios
• Integração de pandas com geração de PDFs.
• Melhoria de dashboards e relatórios.
• Laboratório 4: Criação de um relatório completo para uma empresa fictícia.
Fase 3: Interação com Bancos de Dados e Desenvolvimento de Aplicações Desktop
(13 semanas)
Semana 21: Introdução ao MySQL
• Instalação do MySQL e configuração do banco de dados.
• Comandos básicos de SQL: SELECT, INSERT, UPDATE, DELETE.
• Projeto prático: Criação de uma base de dados de clientes.
Semana 22: SQLAlchemy - ORM para Python
• Mapeamento Objeto-Relacional com SQLAlchemy.
• Criação de tabelas e mapeamento de classes.
• Projeto prático: Sistema de controle de estoque usando SQLAlchemy para
persistência de dados.
Semana 23: Projeto de Integração com MySQL
• Desenvolvimento de uma aplicação que realiza operações CRUD.
• Relatórios de vendas e controle de estoque com MySQL.
• Laboratório 5: Otimização de queries SQL e melhoria da estrutura do banco de
dados.
Semana 24: Introdução ao PySide
• Criação de interfaces gráficas com PySide.
• Uso de widgets básicos: QLabel, QLineEdit, QPushButton.
• Mini-projeto: Interface gráfica para cadastro de clientes.
Semana 25: Layouts e Interface com PySide
• Criação de layouts complexos: QVBoxLayout, QHBoxLayout.
• Manipulação de eventos em PySide.
• Projeto prático: Criação de um sistema de cadastro de produtos com interface
gráfica.
Semana 26: Integração de PySide com MySQL
• Conexão de PySide com MySQL para realizar operações CRUD.
• Projeto prático: Interface gráfica para gestão de produtos e pedidos.
Semana 27: Desenvolvimento de Aplicativos Móveis com Kivy
• Introdução ao Kivy: instalação e conceitos básicos.
• Criação de interfaces adaptáveis para dispositivos móveis.
• Mini-projeto: Aplicativo de notas simples.
Semana 28: Projeto de Aplicativo Móvel Completo
• Desenvolvimento de um aplicativo de lista de tarefas com armazenamento local.
• Integração com banco de dados SQLite.
• Simulação de situação real: Aplicativo de produtividade pessoal com
sincronização de dados.
Semana 29: Revisão de Aplicações Desktop e Móveis
• Revisão e refinamento dos projetos com PySide e Kivy.
• Ajustes de interface e performance.
• Apresentação dos projetos: Discussão sobre boas práticas de desenvolvimento.
Semana 30: Projeto Integrador Desktop
• Desenvolvimento de um sistema completo de gestão financeira.
• Integração de interface gráfica com banco de dados.
• Relatórios automáticos em PDF.
• Apresentação final: Discussão de melhorias e code review.
Fase 4: Desenvolvimento Web Front-end e Back-end com JavaScript (18 semanas)
Detalhamento de HTML e CSS Avançado (Semanas 31 a 39)
Semana 31: Fundamentos de HTML
• Estrutura de uma página HTML: <!DOCTYPE html>, <html>, <head>, <body>.
• Introdução a tags básicas: <div>, <span>, <p>, <a>, <img>.
• Criação de formulários simples: <form>, <input>, <button>, <select>.
• Tags semânticas: <header>, <footer>, <nav>, <section>.
• Projeto prático: Criação de uma página de apresentação pessoal com
formulário de contato.
Semana 32: Fundamentos de CSS
• Sintaxe do CSS: seletores, classes, IDs.
• Box Model: margin, padding, border, width, height.
• Estilização de textos e fontes: cores, font-family, text-align.
• Design responsivo com Media Queries.
• Projeto prático: Estilização da página de apresentação criada anteriormente,
tornando-a responsiva.
Semana 33: Layouts Responsivos com CSS
• Flexbox:
o Conceitos de flex-direction, justify-content, align-items.
o Criação de layouts de coluna e linha utilizando Flexbox.
• CSS Grid:
o Criação de layouts complexos usando grid-template-columns e grid-
template-rows.
o Posicionamento de elementos em grid-area.
• Animações básicas:
o Uso de transition e transform para criar animações suaves.
• Projeto prático: Criação de uma landing page responsiva para um produto
fictício, utilizando Flexbox e CSS Grid.
HTML e CSS Avançado (Semanas 34 a 39)
Semana 34: HTML Avançado e Acessibilidade
• Criação de formulários complexos:
o Validação de formulários HTML5 (required, pattern, min, max).
o Uso de <input type="date">, <input type="range">, <input
type="color">.
• SEO Avançado:
o Uso de meta tags para otimização em mecanismos de busca (<meta>,
Open Graph).
o Estruturação de conteúdo para melhorar a indexação de páginas.
• Acessibilidade Avançada:
o Uso de ARIA (aria-label, aria-hidden, role) para melhorar a
acessibilidade.
o Estruturação de páginas para leitura por leitores de tela.
• Projeto prático: Criação de um formulário de cadastro acessível e otimizado
para SEO, com validação de campos.
Semana 35: CSS Avançado - Layouts Complexos
• CSS Grid Avançado:
o Criação de layouts mais complexos usando grid-area.
o Uso de grid-template-areas para organizar áreas do layout.
• Flexbox vs. CSS Grid:
o Quando utilizar Flexbox e quando usar CSS Grid para otimizar layouts.
• Animações avançadas:
o Uso de @keyframes para criar animações personalizadas.
o Transições complexas com transform (scale, rotate, translate).
• Projeto prático: Criação de um dashboard com CSS Grid, incluindo animações
personalizadas para uma experiência de usuário mais rica.
Semana 36: Pré-processadores e CSS Modularizado
• Introdução ao Sass:
o Uso de variáveis para facilitar a manutenção do código.
o Criação de mixins e aninhamento de seletores para modularizar
estilos.
• Estruturação de projetos grandes:
o Organização de arquivos CSS utilizando o Sass.
o Introdução ao padrão BEM (Block Element Modifier) para nomenclatura
de classes.
• Projeto prático: Refatoração de um site usando Sass e BEM, criando um
design modular e componentes reutilizáveis.
Semana 37: Web Components e Shadow DOM
• Introdução aos Web Components:
o Criação de Custom Elements para reutilizar componentes HTML.
o Encapsulamento de estilos usando Shadow DOM para criar
componentes isolados.
• Integração de Web Components em projetos HTML:
o Uso de APIs nativas para criar componentes personalizados.
• Projeto prático: Criação de um componente de tabela de preços reutilizável,
que pode ser integrado em qualquer página HTML.
Semana 38: HTML e CSS para Progressive Web Apps (PWAs)
• Introdução a Progressive Web Apps (PWAs):
o Estrutura básica de um [Link] para transformar um site em
uma PWA.
o Criação de ícones e splash screens para PWAs.
• HTML e CSS para dispositivos móveis:
o Uso de Viewport Meta Tag para criar layouts que se adaptam a telas
pequenas.
o Princípios de design mobile-first e otimização de performance para
dispositivos móveis.
• Projeto prático: Protótipo de uma aplicação PWA simples, utilizando recursos
de HTML e CSS para melhorar a experiência do usuário em dispositivos
móveis.
Semana 39: Otimização de Desempenho em HTML e CSS
• Técnicas de otimização de carregamento de páginas:
o Minificação de arquivos CSS e uso de CDNs para melhorar a
performance.
o Carregamento assíncrono de scripts e estilos para acelerar o tempo de
carregamento.
• Ferramentas de auditoria de performance:
o Uso do Google Lighthouse para identificar problemas de performance
e acessibilidade.
o Aplicação de melhorias com base nos resultados de auditorias.
• Projeto prático: Otimização de uma landing page, reduzindo o tempo de
carregamento e melhorando a experiência do usuário.
Semana 40: Introdução ao [Link] e Express
• Conceitos de [Link]:
o Diferença entre JavaScript no cliente e no servidor.
o Instalação do [Link] e uso do npm para gerenciamento de pacotes.
• Introdução ao [Link]:
o Criação de servidores HTTP simples com Express.
o Estruturação de rotas e manipulação de requisições.
o Uso de middlewares para manipulação de respostas.
• Mini-projeto: Criação de um servidor que retorna informações de um portfólio.
Semana 41: Desenvolvimento de APIs RESTful com Express
• Conceitos de APIs RESTful:
o Métodos HTTP (GET, POST, PUT, DELETE).
o Criação de rotas para leitura, criação, atualização e exclusão de dados.
o Estruturação de projetos em Express.
• Projeto prático: Desenvolvimento de uma API para gerenciamento de tarefas,
incluindo endpoints para criar, ler, atualizar e deletar tarefas.
Semana 42: Integração com MongoDB
• Introdução ao MongoDB:
o Conceitos de documentos e coleções.
o Instalação e uso do MongoDB localmente e com MongoDB Atlas.
• Integração de MongoDB com Mongoose:
o Definição de esquemas e modelos.
o Criação de operações CRUD (Create, Read, Update, Delete) usando
Mongoose.
• Projeto prático: Criação de uma API para gerenciamento de produtos com
persistência de dados em MongoDB.
Semana 43: Autenticação e Segurança em APIs
• Conceitos de segurança em APIs:
o Proteção contra injeção de SQL/NoSQL e validação de entradas.
o Implementação de JWT (JSON Web Tokens) para autenticação e
autorização.
o Criação de rotas protegidas e permissões de usuário.
• Projeto prático: Desenvolvimento de um sistema de login seguro para a API de
gerenciamento de produtos.
Semana 44: Deploy de Aplicações [Link]
• Deploy de APIs em Heroku e Vercel:
o Configuração de variáveis de ambiente para armazenar chaves de API e
informações sensíveis.
o Conexão de APIs com bancos de dados em nuvem.
• Uso de ferramentas de monitoramento de APIs.
• Projeto prático: Deploy da API de gerenciamento de tarefas e monitoramento de
seu desempenho em ambiente de produção.
Django e FastAPI - Desenvolvimento Backend
Semana 45: Introdução ao Django
• Instalação do Django e criação de um projeto Django.
• Estrutura de projetos Django: models, views, urls, templates.
• Modelagem de banco de dados com Django ORM.
• Mini-projeto: Criação de um sistema de blog simples com Django, incluindo
criação e visualização de posts.
Semana 46: Desenvolvimento Avançado com Django
• Criação de sistemas de autenticação de usuários usando Django.
• Administração de modelos com o Django Admin.
• Criação de APIs com Django REST Framework:
o Criação de serializers para manipular dados.
o Configuração de endpoints RESTful.
• Projeto prático: Desenvolvimento de uma API para um sistema de gerenciamento
de estudantes e suas notas.
Semana 47: FastAPI para APIs Performáticas
• Instalação e configuração do FastAPI:
o Criação de endpoints para APIs RESTful com Pydantic.
o Validação de dados de entrada usando Pydantic.
• Diferenças entre Django e FastAPI para criação de APIs.
• Mini-projeto: Desenvolvimento de uma API de consulta de livros com validação
de dados usando FastAPI.
Semana 48: Integração Django com FastAPI
• Uso de Django para o front-end e FastAPI para o back-end:
o Configuração de CORS e comunicação entre Django e FastAPI.
o Integração de front-end Django com API de comentários do FastAPI.
• Projeto prático: Criação de uma aplicação de blog completa usando Django para
o front-end e FastAPI para a API de comentários.
• Laboratório 6 - Desenvolvimento Full-Stack Completo:
o Desenvolvimento de um sistema de gerenciamento de cursos:
▪ Frontend: Django com HTML e JavaScript.
▪ Backend: APIs RESTful usando FastAPI.
o Integração de um painel de controle para administradores e alunos.
• Apresentação do projeto: Revisão de código, feedback e sugestões de melhorias
para a aplicação desenvolvida.
Fase 5: Análise de Dados e Estatística - Do Básico ao Avançado (12 semanas)
Semana 49: Estatística Descritiva
• Introdução à estatística descritiva:
o Cálculo de medidas centrais: média, mediana, moda.
o Medidas de dispersão: variância, desvio padrão, coeficiente de variação.
o Análise de quartis e percentis.
• Visualização de distribuições:
o Gráficos de dispersão, histogramas, boxplots usando Matplotlib e
Seaborn.
• Mini-projeto: Análise exploratória de um dataset de vendas, utilizando gráficos
para identificar tendências e outliers.
Semana 50: Distribuições de Probabilidade
• Introdução às distribuições de probabilidade:
o Distribuições Normal, Binomial, Poisson e Weibull.
o Uso de [Link] para modelagem de distribuições.
• Cálculo de probabilidades e áreas sob a curva.
• Projeto prático: Análise de um dataset financeiro, ajustando a distribuição
normal para modelar rendimentos e calcular probabilidades.
Semana 51: Inferência Estatística - Testes de Hipóteses
• Conceitos de inferência:
o Amostragem, população, erros tipo I e tipo II.
o Testes de hipóteses: definição de hipóteses nula e alternativa.
• Realização de testes estatísticos:
o Teste t-Student para médias (amostras independentes e pareadas).
o Teste ANOVA para comparação de múltiplas amostras.
o Interpretação de p-valor e sua relação com significância estatística.
• Laboratório 7: Estudo de caso: Análise de vendas em diferentes regiões,
utilizando testes de hipóteses para verificar diferenças significativas.
Semana 52: Intervalos de Confiança
• Cálculo de intervalos de confiança para médias e proporções.
• Interpretação de intervalos de confiança em contextos práticos.
• Relação entre intervalos de confiança e testes de hipóteses.
• Mini-projeto: Desenvolvimento de um relatório que inclui análise de satisfação de
clientes com intervalos de confiança para as médias de respostas.
Semana 53: Regressão Linear e Correlação
• Introdução à regressão linear:
o Conceitos de correlação e regressão.
o Regressão linear simples e múltipla.
o Ajuste de modelos e interpretação de coeficientes.
o Avaliação do modelo: R², erro padrão dos coeficientes.
• Projeto prático: Previsão de preços de imóveis usando regressão linear múltipla,
identificando as variáveis mais relevantes para a determinação do preço.
Semana 54: Regressão Logística e Análise de Classificação
• Introdução à regressão logística:
o Aplicação em problemas de classificação binária.
o Interpretação dos coeficientes de regressão logística.
• Avaliação de modelos de classificação:
o Curva ROC, AUC (Área Sob a Curva).
o Cálculo de métricas como precisão, recall e F1-score.
• Mini-projeto: Análise de sobrevivência de passageiros do Titanic, usando
regressão logística para prever quem sobreviveria.
Semana 55: Análise de Séries Temporais - Parte 1
• Conceitos fundamentais de séries temporais:
o Identificação de componentes: tendência, sazonalidade e ruído.
o Decomposição de séries temporais.
o Criação de gráficos de séries temporais usando Matplotlib e pandas.
• Modelos de média móvel e suavização exponencial.
• Projeto prático: Análise de séries temporais de vendas mensais de uma empresa
fictícia, identificando tendências sazonais.
Semana 56: Análise de Séries Temporais - Parte 2
• Modelos ARIMA:
o Conceitos de auto regressão (AR), média móvel (MA) e integração (I).
o Ajuste de parâmetros (p, d, q) para modelagem de séries temporais.
o Previsão de séries temporais e avaliação do modelo.
• Projeto prático: Previsão de demanda de produtos usando um modelo ARIMA,
identificando as melhores estratégias de reabastecimento.
Semana 57: Avaliação de Modelos Preditivos
• Avaliação de modelos de regressão:
o Métricas de erro: MAE (Erro Médio Absoluto), MSE (Erro Quadrático Médio),
RMSE (Raiz do Erro Quadrático Médio).
• Avaliação de modelos de classificação:
o Precisão, recall, F1-score, matriz de confusão.
o Ajuste de hiperparâmetros com GridSearchCV.
• Mini-projeto: Avaliação de um modelo de classificação de clientes de alto valor,
utilizando métricas de desempenho para ajustar o modelo.
Semana 58: Laboratório 8 - Estudos de Caso em Estatística Aplicada
• Análise de estudos de caso em diferentes setores:
o Finanças: análise de portfólio de investimentos usando regressão linear.
o E-commerce: análise de churn (desistência de clientes).
o Educação: análise de desempenho de estudantes.
• Simulação de situação real: Criação de relatórios para uma empresa fictícia,
apresentando resultados de análises estatísticas e recomendações de ação com
base nos dados.
Semana 59: Revisão e Projeto Integrado de Estatística
• Revisão de conceitos de regressão, séries temporais e testes de hipóteses.
• Discussão de boas práticas na apresentação de resultados estatísticos.
• Projeto prático: Desenvolvimento de um relatório final de análise de um dataset
de vendas, incluindo previsões de demanda, segmentação de clientes e
recomendações de estratégias de marketing.
Semana 60: Apresentação e Feedback dos Projetos de Estatística
• Apresentação dos projetos desenvolvidos durante a fase de estatística.
• Sessão de code review e feedback para melhorias nos projetos.
• Discussão sobre aplicação prática dos conceitos em diferentes áreas de
mercado.
• Preparação para a próxima fase: Introdução ao uso de Machine Learning em
projetos de análise de dados.
Fase 6: Automação, IoT, e Projetos de Engenharia (10 semanas)
Semana 61: Introdução ao Raspberry Pi e Automação
• Configuração inicial do Raspberry Pi e instalação do sistema operacional.
• Introdução ao controle de pinos GPIO (General Purpose Input/Output).
• Criação de scripts para controle de dispositivos simples, como LEDs e relés.
• Mini-projeto: Controle de LEDs usando GPIO para simular um sistema de
sinalização.
Semana 62: Automação de Tarefas com Python
• Uso de PyAutoGUI para automação de tarefas repetitivas no desktop.
• Simulação de teclas, preenchimento de formulários, e controle de janelas.
• Projeto prático: Automação de uma tarefa administrativa repetitiva, como o
preenchimento de relatórios em planilhas.
Semana 63: Introdução ao OpenCV e Visão Computacional
• Conceitos básicos de visão computacional:
o Leitura de imagens, manipulação de pixels, conversão entre espaços de
cor.
o Transformações simples (redimensionamento, rotação, corte).
• Mini-projeto: Detecção de bordas em imagens e aplicação de filtros usando
OpenCV.
Semana 64: Reconhecimento Facial com OpenCV
• Treinamento e uso de modelos de reconhecimento facial.
• Uso de bibliotecas como face_recognition para detecção e reconhecimento de
rostos.
• Projeto prático: Desenvolvimento de um sistema de controle de acesso que
utiliza reconhecimento facial para identificar usuários autorizados.
Semana 65: Aplicações de Simulação em Engenharia com NumPy e SciPy
• Uso de NumPy e SciPy para resolver problemas de engenharia:
o Simulação de sistemas de equações diferenciais para processos de
balanço de massa e energia.
o Análise de transferência de calor e simulação de processos químicos.
• Mini-projeto: Simulação de um sistema de aquecimento e resfriamento em um
processo industrial.
Semana 66: Desenvolvimento de Aplicativos de Engenharia com PySide e Py QT6
• Criação de interfaces gráficas para simulações com PySide e QT6
• Integração de cálculos de engenharia em interfaces interativas.
• Projeto prático: Desenvolvimento de uma interface gráfica para um simulador de
reatores químicos com balanço de massa.
Semana 67: Aplicações em Engenharia de Alimentos
• Simulação de processos industriais aplicados à engenharia de alimentos:
o Modelagem de processos de secagem e fermentação.
o Cálculo de parâmetros como atividade de água e tempo de secagem.
• Mini-projeto: Desenvolvimento de um script para simular processos de
fermentação e sua aplicação prática.
Semana 68: Criação de Aplicativos para Cálculo de Filtros
• Implementação da equação de Darcy para simular perda de carga em filtros.
• Desenvolvimento de uma interface com PySide para entrada de parâmetros e
simulação de filtração.
• Projeto prático: Criação de um aplicativo que calcula a perda de carga em
diferentes tipos de filtros, com interface gráfica para ajuste de parâmetros.
Semana 69: Laboratório 9 - Integração de Soluções para Engenharia
• Desenvolvimento de um sistema que combina cálculos de processos de
engenharia com uma interface visual.
• Integração de controle de hardware (simulado com Raspberry Pi) e visualização de
dados.
• Simulação de situação real: Desenvolvimento de um sistema de controle
automatizado para uma planta química fictícia.
• Code review: Feedback sobre melhorias e boas práticas de código.
Semana 70: Apresentação e Revisão dos Projetos de Automação e Engenharia
• Apresentação dos projetos desenvolvidos ao longo da fase.
• Ajustes finais com base no feedback.
• Discussão sobre aplicação prática dos conceitos em projetos reais e próximos
passos para integração com Machine Learning.
Fase 7: Projetos Finais e Projeto Integrador (15 semanas)
Semana 71-75: Desenvolvimento dos Projetos Finais Separados
• Projeto 1: Sistema de Segurança com Raspberry Pi.
o Integração de sensores de movimento e câmeras com Raspberry Pi.
o Envio de notificações por e-mail ao detectar movimento.
o Documentação: Instruções de configuração e uso do sistema de
segurança.
• Projeto 2: Aplicação Web Completa com Django e FastAPI.
o Desenvolvimento de um sistema de gestão de usuários com autenticação.
o Criação de uma API RESTful com Django e FastAPI.
o Integração de gráficos dinâmicos com Plotly para visualização de dados
de uso.
• Projeto 3: Análise de Dados com Machine Learning.
o Aplicação de algoritmos de classificação e regressão para análise de
clientes.
o Geração de relatórios automatizados de insights para o negócio.
o Implementação de um modelo preditivo para segmentação de clientes.
Semana 76-81: Projeto Integrador Final - Sistema Unificado de Gerenciamento e
Monitoramento Inteligente
• Semana 76-77: Planejamento e Arquitetura do Sistema Integrado.
o Definição dos requisitos do sistema e criação de diagramas UML.
o Estruturação da arquitetura do sistema, separando back-end, front-end, e
APIs.
• Semana 78-79: Desenvolvimento do Backend Unificado.
o Criação das APIs com Django e FastAPI para gerenciamento de dados.
o Integração com banco de dados MySQL e configuração de autenticação
segura.
o Implementação de controle de acesso para diferentes tipos de usuários.
• Semana 80-81: Desenvolvimento do Frontend Unificado.
o Criação de uma interface de usuário com React ou Django Templates.
o Integração com as APIs e visualização de dados em tempo real.
o Criação de dashboards para monitoramento de atividades.
o Projeto prático: Interface gráfica que permite o controle e visualização
dos dados do sistema.
Semana 82-84: Testes, Otimização e Documentação do Projeto Integrador
• Realização de testes unitários e de integração em todas as partes do sistema.
• Otimização de consultas e performance da API.
• Ajustes finais com base em feedback de teste beta.
• Criação da documentação completa do sistema, incluindo instruções de deploy e
manual do usuário.
• Simulação de apresentação para clientes: Preparação de slides e apresentação
para mostrar a solução final.
Semana 85: Apresentação e Encerramento
• Apresentação final do projeto integrador para uma banca avaliadora (simulada).
• Discussão dos desafios encontrados e soluções implementadas.
• Feedback final sobre o projeto e sugestões de melhorias.
• Encerramento do curso: Revisão dos principais aprendizados ao longo das 85
semanas e orientações para próximos passos, como especializações ou
certificações.
Inclusão de Semanas de Revisão
Após a Fase 1: Fundamentos de Python e Programação Estruturada (10 semanas)
• Semana 11: Revisão de Fundamentos de Python
o Recapitulação dos principais conceitos de controle de fluxo, estruturas de
dados e POO.
o Sessões de resolução de dúvidas sobre manipulação de arquivos e
funções.
o Desafios práticos: Pequenos scripts para automatizar tarefas cotidianas,
como a organização de arquivos.
o Desafio integrador: Construir um script para processar um dataset
simples de texto, utilizando estruturas de repetição e manipulação de
arquivos.
Após a Fase 2: Bibliotecas Essenciais e Visualização de Dados (10 semanas)
• Semana 21: Revisão de Bibliotecas Essenciais
o Recapitulação de NumPy, SciPy, pandas, Matplotlib, Seaborn e
automação de relatórios.
o Discussão de dúvidas frequentes sobre manipulação de grandes datasets.
o Desafios práticos: Criação de visualizações interativas para um conjunto
de dados de vendas.
o Desafio integrador: Geração de um relatório completo em PDF,
integrando gráficos e análise de dados.
Após a Fase 3: Interação com Bancos de Dados e Desenvolvimento de Aplicações
Desktop (13 semanas)
• Semana 34: Revisão de Banco de Dados e Aplicações Desktop
o Recapitulação de SQL, SQLAlchemy, e integração com MySQL.
o Discussão sobre os desafios de integração de PySide e bancos de dados.
o Desafios práticos: Simulação de um sistema de cadastro de clientes com
interface gráfica e persistência em banco de dados.
o Desafio integrador: Implementação de um sistema de controle de
estoque com interface PySide e banco de dados MySQL.
Após a Fase 4: Desenvolvimento Web Front-end e Back-end com JavaScript (18
semanas)
• Semana 49: Revisão de Desenvolvimento Web
o Revisão dos conceitos de HTML, CSS (incluindo avançado), JavaScript,
[Link], Express, Django e FastAPI.
o Discussão sobre dúvidas frequentes e otimização de aplicações.
o Desafios práticos: Ajustes e melhorias em um projeto de API, focando em
segurança e otimização de carregamento.
o Desafio integrador: Criação de uma aplicação simples que integra front-
end em HTML/CSS/JavaScript com back-end em Django e FastAPI.
Após a Fase 5: Análise de Dados e Estatística - Do Básico ao Avançado (12 semanas)
• Semana 61: Revisão de Análise de Dados e Estatística
o Recapitulação dos conceitos de estatística descritiva, inferência
estatística, regressão e análise de séries temporais.
o Discussão de dúvidas sobre testes de hipóteses e avaliação de modelos
preditivos.
o Desafios práticos: Reanálise de um dataset complexo com novas
perguntas de negócio.
o Desafio integrador: Criação de um relatório preditivo para uma empresa
fictícia, utilizando modelos de regressão e previsão de demanda.
Após a Fase 6: Automação, IoT, e Projetos de Engenharia (10 semanas)
• Semana 71: Revisão de Automação e Projetos de Engenharia
o Revisão dos conceitos de automação com Raspberry Pi, visão
computacional com OpenCV, e simulações de processos industriais.
o Discussão sobre os desafios de integração de hardware com Python.
o Desafios práticos: Ajustes em um sistema de controle de acesso usando
reconhecimento facial e integração com sensores.
o Desafio integrador: Desenvolvimento de uma aplicação final que
combina simulação de processos e controle de dispositivos.
Antes do Início do Projeto Integrador Final
• Semana 82: Revisão Geral e Preparação para o Projeto Integrador
o Recapitulação dos principais conceitos de todo o curso.
o Discussão aberta para resolução de dúvidas antes do início do projeto
final.
o Planejamento do projeto integrador: análise de requisitos, estruturação de
tarefas e definição de metas.
o Desafio prático: Prototipagem de uma parte do projeto integrador, como a
definição do banco de dados ou a criação de um mockup da interface de
usuário.
Projetos Práticos Adicionais ao Final de Cada Fase
Após a Fase 1: Fundamentos de Python e Programação Estruturada
• Projeto Extra 1: Sistema de Inventário Simples
o Desenvolvimento de um sistema de controle de estoque usando leitura e
escrita de arquivos CSV.
o O sistema permite adicionar, remover e atualizar itens no inventário.
o Uso de POO para modelar produtos e categorias, além de implementar
relatórios básicos.
• Projeto Extra 2: Calculadora Financeira com Juros Compostos
o Criação de uma calculadora de simulação de investimentos.
o Cálculo de juros compostos, simulações de investimentos mensais, e
geração de relatórios.
o Exportação dos resultados para arquivos CSV ou textos.
Após a Fase 2: Bibliotecas Essenciais e Visualização de Dados
• Projeto Extra 1: Análise de Dados Meteorológicos
o Uso de pandas para limpar e analisar um dataset de dados
meteorológicos (temperaturas, precipitação, ventos).
o Visualização de padrões sazonais com gráficos de linha e dispersão
usando Matplotlib e Seaborn.
o Geração de um relatório em PDF com gráficos e insights.
• Projeto Extra 2: Dashboard Interativo de Vendas com Plotly
o Criação de um dashboard interativo para análise de vendas, utilizando
Plotly e Dash.
o Permite a visualização de gráficos de desempenho por região, por produto
e por período.
o Exportação dos gráficos como imagens e PDFs para relatórios mensais.
Após a Fase 3: Interação com Bancos de Dados e Desenvolvimento de Aplicações
Desktop
• Projeto Extra 1: Sistema de Biblioteca com PySide e MySQL
o Desenvolvimento de um sistema de cadastro de livros, autores e
empréstimos.
o Interface gráfica com PySide para gerenciar os dados, usando MySQL para
armazenar as informações.
o Implementação de relatórios de livros mais emprestados e controle de
devoluções.
• Projeto Extra 2: Automação de Relatórios de Vendas
o Conexão a um banco de dados MySQL para consultar dados de vendas.
o Uso de pandas para criar relatórios de desempenho e automação da
geração de PDFs com fpdf.
o Criação de uma interface simples com PySide para configurar e gerar os
relatórios automaticamente.
Após a Fase 4: Desenvolvimento Web Front-end e Back-end com JavaScript
• Projeto Extra 1: Aplicação de Blog com Comentários em Tempo Real
o Desenvolvimento de um blog completo usando Django para o back-end e
JavaScript para o front-end.
o Implementação de comentários em tempo real utilizando WebSockets
com Django Channels.
o Criação de uma interface responsiva que se adapta a dispositivos móveis.
• Projeto Extra 2: E-commerce Simples com Carrinho de Compras
o Desenvolvimento de uma aplicação de e-commerce utilizando [Link],
Express e MongoDB.
o Implementação de funcionalidades de cadastro de produtos, carrinho de
compras e checkout.
o Integração de pagamentos simulados e envio de e-mails de confirmação.
Após a Fase 5: Análise de Dados e Estatística - Do Básico ao Avançado
• Projeto Extra 1: Análise de Sentimentos em Redes Sociais
o Coleta de dados de uma rede social (como Twitter) usando a API e tweepy.
o Análise de sentimentos dos tweets utilizando scikit-learn e visualização
dos resultados.
o Criação de um relatório que resume os principais sentimentos sobre um
determinado tópico.
• Projeto Extra 2: Previsão de Vendas com Modelos de Machine Learning
o Aplicação de técnicas de regressão para prever vendas futuras com scikit-
learn.
o Avaliação do desempenho dos modelos usando métricas como RMSE e
MAE.
o Implementação de um script que gera relatórios de previsão e sugestões
de estratégias com base nos resultados.
Após a Fase 6: Automação, IoT, e Projetos de Engenharia
• Projeto Extra 1: Monitoramento de Ambiente com Raspberry Pi
o Desenvolvimento de um sistema de monitoramento de temperatura e
umidade usando sensores conectados ao Raspberry Pi.
o Envio de alertas por e-mail quando os valores ultrapassarem
determinados limites.
o Criação de um dashboard simples com Flask para visualizar os dados em
tempo real.
• Projeto Extra 2: Simulação de Processo de Filtração com Interface Gráfica
o Criação de um simulador de filtração de líquidos utilizando PySide.
o Implementação de cálculos baseados na equação de Darcy para simular
a perda de carga em diferentes filtros.
o Exportação dos resultados para relatórios em PDF, com gráficos de
desempenho da filtração.