Skip to content

oMatheusValim/ONE-G8

Repository files navigation

ONE - Oracle Next Education G8

📖 Índice

🔎 Sobre

Este repositório foi criado para compartilhar os desafios de programação e projetos que estou desenvolvendo ao longo da minha jornada no programa de Iniciante em Programação G8 - ONE, criado em uma parceria entre a Alura e a Oracle Next Education.

ONE - Oracle Next Education é um programa de educação e empregabilidade com objetivo social de capacitar pessoas em tecnologia e conectá-las com o mercado de trabalho por meio de empresas parceiras. O curso é 100% online e totalmente gratuito, voltado para quem não teve acesso à educação de qualidade e deseja transformar a sua realidade social.

O curso foi estruturado para oferecer uma progressão completa, partindo dos fundamentos — como desenvolvimento pessoal e lógica de programação — até tópicos avançados, incluindo uma especialização em Data Science. Essa abordagem em camadas me permitiu consolidar uma bases sólida antes de mergulhar em conceitos complexos, alinhando perfeitamente à proposta inclusiva do programa ONE.

Após a formação de 325h do ONE Tech Foundation G8 - Data Science, foi possível continuar com os estudos, de forma opcional. Essa continuação, denominada Tech Explorer, conta com 68h com a abordagem em banco de dados, IA generativa e cloud.

🌿 Estrutura dos cursos

Desenvolvimento Pessoal

Empreendedorismo, Agilidade e Protagonismo na Carreira

Iniciante em Programação

Modelagem de Dados com Python

Aprendendo a fazer ETL

Estatística e Machine Learning

ONE | TECH EXPLORER

Essa foi uma fase de continuação opcional, sendo uma oportunidade para continuar explorando novas tecnologias e se manter atualizado no mercado de trabalho.

Consultas SQL com MySQL Server da Oracle

  • MySQL: Conhecendo a ferramenta
  • MySQL: Executando Procedures
  • MySQL: Trabalhando com funções
  • MySQL: Aplicado para análise de dados

IA Generativa

  • IA: Explorando o potencial da inteligência artificial generativa
  • Engenharia de prompt: criando prompts eficazes para IA generativa
  • Produtividade: otimizando sua rotina com inteligência artificial

Oracle Cloud Infrastructure

💭 Informações dos cursos

Aprender a aprender: técnicas para seu desenvolvimento

-> O curso enfatiza a importância do autoconhecimento e da definição de metas claras para o desenvolvimento pessoal. Além disso, introduz o método Ikigai, que ajuda a conectar os pontos fortes individuais às demandas do mercado, visando uma carreira mais promissora. Também apresenta os diferentes estilos de aprendizagem, como aprender por meio da prática ou da análise das experiências alheias, e fornece dicas para melhorar o foco e desenvolver bons hábitos de estudo.

LinkedIn: como fazer o seu perfil trabalhar para você

-> O curso aborda noções básicas para a criação de um perfil no LinkedIn, oferecendo recomendações sobre o preenchimento de informações relevantes, como foto de perfil profissional, uso de hashtags, mecanismos de busca e recomendações de outros usuários.

Foco: trazendo mais resultados para o dia a dia

-> O curso oferece dicas para identificar e priorizar o que realmente importa, qual a prioridade, abordando a falsa ideia de que ser multitarefa é sempre benéfico. Além disso, apresenta técnicas para aumentar o foco e a produtividade, como o método Pomodoro.

Hábitos: da produtividade às metas pessoais

-> O curso aborda como definir prioridades na elaboração de um cronograma de tarefas, utilizando o método SMART, que significa Específica, Mensurável, Atingível, Relevante e Temporal. Além disso, discute a importância de dividir a rotina, alternando períodos de foco total nas tarefas com pausas para descanso, a fim de manter a produtividade por mais tempo.

Desenvolvimento de carreira: a demanda do mercado

-> Este curso foca em como impulsionar sua carreira, ensinando a analisar o mercado, construir um diferencial competitivo e gerenciar o desempenho. Também aprendi sobre o papel da liderança no desenvolvimento profissional, como criar uma estratégia e plano de ação para a carreira, e a importância do networking para expandir oportunidades.

Propósito profissional: seja protagonista da sua carreira

-> Este curso guia a descoberta do seu propósito profissional utilizando o modelo Ikigai. Ele te convida a uma profunda reflexão sobre si mesmo para encontrar a intersecção ideal entre suas principais características: sua paixão, sua missão, sua profissão e sua vocação. Ao final, é possível ter clareza para ser o verdadeiro protagonista da sua jornada profissional.

Transição de carreira: um guia para a área da tecnologia

-> O programa aborda pilares fundamentais para o sucesso nesta transição, incluindo o autoconhecimento como ferramenta essencial para a escolha assertiva de uma especialidade dentro do vasto campo tecnológico. São exploradas as melhores práticas para a construção de um portfólio robusto e impactante, além de estratégias e boas práticas em entrevistas de emprego para otimizar as chances de colocação. Adicionalmente, o curso introduz os conceitos e fundamentos do empreendedorismo digital, preparando o indivíduo para diversas modalidades de atuação neste setor em constante expansão.

Gestão Ágil: explorando conceitos da agilidade

-> Este curso foi desenvolvido para oferecer uma imersão completa nos princípios da Gestão Ágil. Ele apresenta os pensamentos, métodos, gestões e práticas ágeis que são essenciais para o cenário profissional contemporâneo. O programa aborda como agregar valor de forma contínua, as melhores estruturas para organização de entregas e planejamento, e aprofunda-se em frameworks amplamente utilizados como Scrum e Kanban. Além disso, explora conceitos de Management 3.0 e a importância do MVP (Produto Mínimo Viável), capacitando o aluno a aplicar a agilidade em diversos contextos e projetos.

Empreendedorismo: da ideia ao plano de negócios

-> Este curso foi desenhado para guiar aspirantes a empreendedores desde o estágio inicial da ideia até a elaboração de um plano de negócios sólido. O programa explora as diversas formas de ser um empreendedor, cultivando o mindset necessário para o sucesso. Aborda também o conceito de empreendedorismo cooperativo, a importância da escalabilidade para o crescimento do negócio, e como construir um posicionamento e atratividade no mercado. O curso detalha a criação de um modelo de negócios robusto e, por fim, a estruturação de um plano de negócios completo e estratégico.

Lógica de programação: mergulhe em programação com JavaScript

-> O curso aborda noções básicas de lógica de programação aplicadas ao JavaScript, por meio da criação de um jogo em que o objetivo é acertar um número sorteado aleatoriamente entre 1 e um valor definido pelo usuário. O jogo fornece dicas indicando se o número é maior ou menor que o inserido, e só termina quando o usuário acerta. Toda a interação ocorre por meio da função alert do JavaScript.

Lógica de programação: explore funções e listas

-> O curso aprofunda a criação do jogo do Número Aleatório, permitindo que o usuário interaja com a interface HTML por meio de botões. Assim como na versão anterior, o jogo fornece dicas indicando se o número sorteado é maior ou menor que o inserido. Quando o usuário acerta, uma mensagem de parabéns é exibida na tela, e o número de tentativas necessárias para chegar ao número correto é exibido. O jogo pode ser reiniciado quantas vezes o usuário desejar.

Git e GitHub: compartilhando e colaborando em projetos

-> O curso aborda a utilização do GitHub para subir códigos na nuvem, permitindo salvá-los e alterá-los por meio do terminal ou de ferramentas integradas, como o Visual Studio Code. Além disso, ensina a criar um README detalhado para especificar o repositório de forma clara e organizada

Praticando Lógica de programação: Challenge amigo secreto

-> Consiste na criação de uma aplicação que recebe nomes do usuário, os armazena em uma lista, exibe na tela e depois sorteia o Amigo Secreto dentre eles. É possível refazer o sorteio quantas vezes desejar, além de resetar a lista.

ChatGPT: otimizando a qualidade dos resultados

-> Dicas de engenharia de prompt para aumentar a eficiência em pesquisas no ChatGPT.

HTML e CSS: ambientes de desenvolvimento, estrutura de arquivose e tags

-> O curso aborda conceitos básicos de HTML e CSS, incluindo a criação de arquivos, a estrutura de páginas web, a implementação de imagens, a linkagem, o uso das principais tags e a utilização da plataforma Figma para planejamento e estilização via CSS. Com isso, é iniciado o projeto Portifólio. O modelo de referência está presente no Figma

HTML e CSS: Classes, posicionamento e FlexBox

-> O curso dá continuidade ao projeto do portfólio, aprofundando a estilização com CSS, incluindo o agrupamento por classes, links, importar fontes e o posicionamento de elementos por meio do Flexbox.

HTML e CSS: cabeçalho, footer e variáveis CSS

-> O curso aprimora o projeto do Portfólio, introduzindo novas abas, navegação entre telas, automatização e unificação de cores e fontes de texto por meio de variáveis, além da implementação de animações em botões. O modelo de referência está presente no Figma

HTML e CSS: trabalhando com responsividade e publicação de projetos

-> O curso ensina a hospedar o projeto na nuvem utilizando a plataforma Vercel, permitindo seu compartilhamento e acesso em computadores e dispositivos móveis. Além disso, aborda a responsividade, garantindo o redimensionamento adequado do conteúdo de acordo com o tamanho da tela.

Python para Data Science: primeiros passos

-> O curso oferece uma introdução prática à linguagem Python, ensinando desde a sintaxe básica até conceitos essenciais como declaração de variáveis, criação e manipulação de listas, uso de estruturas condicionais (if, elif, else), operadores lógicos, laços de repetição (for e while) e trabalho com dicionários.

Python para Data Science: trabalhando com funções, estrutura de dados e exceções

-> Esse curso ensina a importar e usar recursos de bibliotecas, como matplotlib, random (choices), math (ceil). Além disso, apresenta built-in functions, como len, round e sum, por exemplo, criação de funções (lambda, map).

Praticando Python para Data Science: Challenge Alura Store

-> Este curso representa uma etapa prática e fundamental na aplicação do conhecimento adquirido na especialização em modelagem de dados com Python. Nele, tive o desafio de trabalhar com bases de dados CSV, aplicando filtros e realizando análises para extrair conclusões relevantes. Para uma melhor compreensão e visualização dos dados, foram elaborados diversos gráficos. O projeto foi organizado através do Trello, o que demonstra a abordagem prática e focada em resultados que o curso propôs.

Modelagem de dados: identificando entidades, atributos, relacionamentos

-> Este curso é essencial para quem busca compreender a fundo a estrutura de dados. Ele aborda os conceitos fundamentais de entidades, atributos e relacionamentos, que são a base para qualquer organização de banco de dados eficiente. O programa ensina como estruturar os dados para evitar informações repetidas, garantindo a integridade e otimização do sistema. É explorado também o processo de levantamento de requisitos, a criação de um modelo conceitual, e a utilização da ferramenta Visual Paradigm para visualização e documentação. Por fim, o curso aborda a simulação do "mini mundo", que é a representação simplificada do ambiente real a ser modelado, consolidando o aprendizado de forma prática.

Modelagem de dados: desenvolvendo o modelo lógico

-> Este curso tem como foco a criação de um modelo de dados lógico robusto, essencial para a construção de bases de dados eficientes. Ele aborda como melhorar a qualidade dos dados e aprofunda-se na estrutura e funcionamento de um banco de dados relacional. Aprendi a implementar com qualidade a criação de dados, definindo e compreendendo a função de chave primária e chave estrangeira para garantir a integridade. O curso enfatiza a padronização de tabelas e relacionamentos, revisita a identificação de entidades e atributos, e explora detalhadamente os diferentes tipos de cardinalidade nos relacionamentos. Além disso, a aplicação prática é reforçada com o uso de ferramentas como Power BI para visualização e o gerenciamento de banco de dados com MySQL.

Modelagem de dados: construindo o modelo físico

-> Este curso se aprofunda na etapa crucial de construção do modelo físico de dados, que traduz o design lógico para uma implementação real em banco de dados. Você aprenderá a tipificar as colunas da tabela adequadamente, definindo o limite de número de caracteres e aplicando restrições de negócio para garantir a validade e consistência dos dados. O programa aborda a integração de dados com outras ferramentas e o papel essencial dos SGBDs (Sistemas Gerenciadores de Banco de Dados). Serão detalhadas as técnicas para dimensionar colunas, a importância de chaves e índices para performance, e como manter a integridade dos dados através de regras bem definidas. Por fim, o curso explora a engenharia reversa, permitindo compreender e documentar estruturas de bancos de dados existentes.

NumPy: análise numérica eficiente com Python

-> Este curso aprofunda o uso da biblioteca NumPy, ferramenta essencial para a análise numérica eficiente em Python. Ele explora as diversas operações com arrays, desde a manipulação de suas dimensões até a transposição de arrays para diferentes formatos. O programa aborda a comparação entre arrays, o tratamento de valores ausentes (NaNs), e como determinar o coeficiente linear e angular de uma reta que descreve o comportamento de um array, introduzindo conceitos de regressão linear. Além disso, o curso ensina a gerar números aleatórios, uma funcionalidade crucial para simulações e experimentos em Data Science.

Pandas: conhecendo a biblioteca

-> Este curso é uma introdução à biblioteca Pandas, uma ferramenta fundamental para a manipulação e análise de dados em Python. Ele explora as principais características de uma base de dados, ensinando como realizar análises exploratórias utilizando diferentes métodos. O programa aborda técnicas essenciais para lidar com valores nulos e remover registros inconsistentes, garantindo a qualidade dos dados. Além disso, você aprenderá a aplicar filtros para selecionar informações específicas e a criar novas colunas para enriquecer o conjunto de dados, capacitando-o a preparar e analisar dados de forma eficiente.

Pandas I/O: trabalhando com diferentes formatos de arquivos

-> Este curso foca na essencial habilidade de importar e exportar dados em diversos formatos de arquivos utilizando a poderosa biblioteca Pandas. Você aprenderá a manipular dados em formatos comuns como CSV, Excel, JSON, HTML e XML. Além disso, o programa aborda a criação de um banco de dados local, como escrever e atualizar informações nesse banco, e como realizar consultas SQL para interagir com os dados, solidificando suas competências em gerenciamento e intercâmbio de dados.

Pandas: transformação e manipulação de dados

-> Este curso aprofunda as técnicas essenciais de transformação e manipulação de dados utilizando a biblioteca Pandas. Ele aborda estratégias de precificação inteligente baseadas em dados, e o tratamento detalhado de dados numéricos, textuais e temporais. Você aprenderá métodos eficazes para tratamento e limpeza de dados, essenciais para garantir a qualidade. O programa explora ainda técnicas de aninhamento e destrinchamento de dados, além da normalização, capacitando você a preparar e refinar conjuntos de dados complexos para análises mais precisas e eficientes.

Data Visualization: criando gráficos com bibliotecas Python

-> Este curso foca na arte e ciência da visualização de dados utilizando as poderosas bibliotecas Python. Será aprendido a plotar diversos tipos de gráficos, com a adição de títulos e rótulos para torná-los informativos e claros. O programa aborda a criação de figuras e subplots para organizar múltiplas visualizações, além de como customizar figuras para atender a necessidades específicas de design. Será ensinado como salvar visualizações em diferentes formatos e a criar gráficos interativos, que permitem explorar os dados de forma dinâmica. As bibliotecas Matplotlib, Seaborn e Plotly são exploradas em profundidade, capacitando a transformar dados brutos em insights visuais impactantes.

Challenge Telecom X: análise de evasão de clientes

-> Este desafio prático aborda a necessidade de uma empresa em buscar, tratar e realizar uma análise exploratória de dados focada na evasão de clientes. Uma API será importada e manipulada, com a aplicação dos conceitos de ETL (Extração, Transformação e Carga). Será criada uma visualização de dados robusta e uma análise exploratória de dados (AED) aprofundada, culminando na elaboração de um relatório detalhado. O projeto foi organizado através do Trello, o que demonstra a abordagem prática e focada em resultados que o curso propôs.

IA aplicada a Data Science: utilizando IA na construção de visualização de dados

-> Este curso explora a aplicação de Inteligência Artificial para otimizar a análise exploratória e a visualização de dados. O foco é a utilização de ferramentas como o ChatGPT para acelerar processos de análise de dados. Serão abordados casos práticos, como a compreensão do faturamento da loja, a identificação do perfil do cliente e a avaliação do desempenho de um programa de cashback. O objetivo é capacitar a receber dados já tratados e realizar análises exploratórias e a criação de gráficos em pouco tempo, por meio de técnicas de engenharia de prompt, demonstrando como a IA pode potencializar a eficiência em Data Science.

Estatística com Python: resumindo e analisando dados

-> Este curso foca na análise e resumo de dados utilizando Python, essencial para extrair valor de conjuntos de dados. O programa ensina a identificar tipos de dados, explorar problemas a partir deles, e aplicar medidas estatísticas para gerar insights valiosos. Será abordado como levantar hipóteses e os diferentes tipos de variáveis: qualitativas (categóricas), que incluem ordinais e nominais, e quantitativas (numéricas), divididas em discretas e contínuas. A tendência de valores será explorada através de medidas como média, moda e mediana, além de quartis, decis e percentis, ferramentas cruciais para compreender a distribuição dos dados.

Estatística com Python: probabilidade e amostragem

-> Este curso aprofunda os conceitos estatísticos essenciais de probabilidade e amostragem com Python. Ele aborda as principais distribuições de probabilidade, como a binomial, Poisson e a normal, e explora a importância da amostragem para a análise de dados. Será aprendido como realizar estimações pontuais e intervalares, fundamentais para a inferência estatística. O programa detalha como definir o tamanho da amostra e a diferença entre nível de confiança e nível de significância. Além disso, o curso explora o Teorema Central do Limite e diversas técnicas de amostragem, consolidando o entendimento sobre como coletar e analisar dados de forma representativa.

Data Science: testando relações com Regressão Linear

-> Este curso foca na aplicação da regressão linear como uma poderosa ferramenta para a análise exploratória de dados e a construção de modelos de Machine Learning. Aborda a identificação dos fatores que melhor explicam um acontecimento e como usar a reta linear para visualizar e interpretar a relação entre variáveis. O programa explora a previsão de resultados e utiliza o pairplot para analisar a relação entre pares de variáveis. Ensina a construir modelos de regressão com Statsmodels, a interpretar métricas como o R² e a identificar problemas comuns como multicolinearidade e heterocedasticidade, garantindo a robustez do modelo. Além disso, a prática é incentivada através de exemplos extraídos do Kaggle, um ambiente de competições de Data Science.

Regressão Linear: técnicas avançadas de modelagem

-> Este curso aprofunda o estudo da regressão linear, focando em técnicas avançadas de modelagem para situações mais complexas. Ele aborda a transformação de variáveis que não apresentam uma relação linear, permitindo que sejam ajustadas a um modelo de regressão. O programa ensina a estimar modelos de regressão linear de forma robusta e a realizar testes formais para validar a qualidade e as suposições do modelo. Também é abordado o problema da assimetria de dados e como tratá-lo para melhorar a performance do modelo. O curso utiliza a biblioteca StatsModels para a construção dos modelos e a interpretação dos coeficientes estimados, proporcionando um conhecimento aprofundado para análises mais sofisticadas.

Classificação: aprendendo a classificar dados com Machine Learning

-> Este curso é uma introdução completa à classificação com Machine Learning, uma das áreas mais importantes da ciência de dados. Aborda-se a criação de modelos de classificação, a compreensão de seus tipos e como avaliar o desempenho de cada um. O programa detalha o processo de carregamento de dados, o tratamento de variáveis categóricas e a verificação de inconsistências nos dados. Serão explorados conceitos-chave como Overfitting e Underfitting, além do uso da biblioteca Scikit-Learn para a transformação de variáveis explicativas e alvo. Para a prática, são apresentados modelos como a Árvore de Decisão e KNN (K-Vizinhos Mais Próximos), além de como exportar e carregar modelos para uso futuro.

Classificação: validação de modelos e métricas de avaliação

-> Este curso aprofunda os conceitos de classificação com Machine Learning, focando nas etapas cruciais de validação de modelos e métricas de avaliação. O programa aborda o processo de leitura da base de dados e a criação de um modelo de classificação. É explorada a importância da estratégia de visualização de dados e a divisão dos dados em conjuntos de treino, validação e teste. Conceitos avançados como validação cruzada e KFold são introduzidos, assim como a estratificação dos dados. O curso detalha as principais métricas de avaliação, como acurácia, recall e precisão, e ensina a interpretar a matriz de confusão e a curva ROC. Por fim, são apresentadas técnicas de rebalanceamento de dados, como Oversampling e Undersampling, para lidar com bases de dados desbalanceadas, garantindo uma avaliação de modelo mais justa e precisa.

IA aumentada: prevendo atrasos de voos

-> Este curso foca na aplicação de Inteligência Artificial (IA) para a otimização aeroportuária. O objetivo principal é a construção de um modelo preditivo que consiga prever atrasos de voos e, a partir disso, ajustar o estacionamento de cada aeronave, o que resulta na redução do tempo de espera e na otimização das operações do aeroporto. O programa aborda a criação de um modelo de regressão com Machine Learning, explorando técnicas como Feature Engineering e Feature Encoding, com o uso específico do OneHotEncoder. Serão utilizados modelos como DummyRegressor e o robusto RandomForestRegressor, que serão submetidos a um processo de treinamento e avaliação rigoroso, incluindo a validação cruzada. Por fim, o curso ensina a otimizar os hiperparâmetros do modelo utilizando o GridSearchCV para alcançar a melhor performance possível.

Challenge Telecom X: análise de evasão de clientes - Parte 2

-> Este desafio foca na continuação da análise de evasão de clientes, com ênfase na preparação de dados e na construção de modelos preditivos. O projeto aborda a preparação e separação adequada dos dados para o treinamento de modelos, seguida por uma análise de correlação entre as variáveis. Utiliza-se a regressão linear como ferramenta para modelar as relações entre as variáveis e entender o impacto de cada uma no comportamento do cliente. A etapa final concentra-se no desenvolvimento e aplicação de modelos de Machine Learning para gerar previsões de evasão. Os dados utilizados foram originados do Challenge Telecom X - Parte 1, e o projeto foi organizado e acompanhado através do Trello

MySQL: Conhecendo a ferramenta

MySQL: Executando Procedures

MySQL: Trabalhando com funções

MySQL: Aplicado para análise de dados

IA: Explorando o potencial da inteligência artificial generativa

Engenharia de prompt: criando prompts eficazes para IA generativa

Produtividade: otimizando sua rotina com inteligência artificial

🎖 CERTIFICADOS GERAIS

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors