sexta-feira, 29 de dezembro de 2023

Semana 00 - A disciplina

 Aulas

As aulas acontecerão nos dias e horários planejados no Sistema Acadêmico (SIGA). Por ser um curso presencial, exige a presença em pelo menos 75% dos 20 encontros (80 aulas) planejadas.
Programação oficial da disciplina (igual o lançado no sistema SIGA):

Algoritmos e Estrutura de Dados I (CDN - Fatec Votorantim) - <aqui>

Livros Textos
Qualquer livro de linguagem Python pode ser utilizado/consultado.
Essencialmente, utilizarmos como base, três livros indicados na bibliografia básica São eles:

MENEZES, Nilo Ney Coutinho. Introdução à Programação com Python: Algoritmos e Lógica de Programação para Iniciantes, 2 ª edição. Novatec, 2014. ISBN: 9788575224083.


RAMALHO, Luciano. Python Fluente. Novatec, 2015. ISBN: 978-85-7522-462-5


PIVA JÚNIOR., Dilermando. Python Essencial: abrindo portas para o futuro. Salto, SP FoxTablet, 2024. ISBN: 978-65-83368-07-2.
Compre esse livro na Amazon: <link>


Outras recomendações são as seguintes:

Algoritmos e Programação de Computadores. Editora Campus/Elsevier.
Autores: Piva Jr, D.; Bianchi, F.; Nakamiti, G.S. e Engelbrecht, A.M.

Fundamentos de Python:  primeiros programas. Editora CENGAGE.
Autor: Kenneth A. Lambert


Python. Use a Cabeça!. Editora AltaBooks
Autor: Paul Barry.


Site pyPRO - Inscreva-se gratuitamente em:  https://pypro.com.br
Receba informações e notícias sobre Python e Ciência de Dados semanalmente.


Curso Gratuito: Python Essencial: https://pypro.com.br/curso/1/1



Canal pyPRO no youtube:   https://youtube.com.br/@pypro_br
Autor: Dilermando Piva Jr.

Curso na UDEMY - Python Essencial:   🔗 https://www.udemy.com/course/python-essencial/
Autor: Dilermando Piva Jr.







Semana 01 - Boas-vindas. Introdução a Disciplina. Formas de Avaliação e Percurso Pedagógico.

Tema:

Apresentar o plano da disciplina, alinhar expectativas, apresentar a disciplina e o professor. Discutir a importância da programação e dos algoritmos no contexto atual e na era da IA. Estabelecer as expectativas e o percurso pedagógico do semestre.

Slides:

Aula 01 - <aqui>

Projeto Titanic: Arquivo Jupyter Notebook: <aqui>
Base de Dados (dataset): <aqui>

Material de Apoio: 
Capitulo 1 do Livro Texto: Python Essencial

Capítulo Um - O que são algoritmos e por que você deve se importar com eles?
do livro "Desmistificando Algoritmos" de Thomas H. Cormen.
Vá para a amostra do livro e clique sobre a figura da capa do livro. Você conseguirá ler todo o primeiro capítulo. 
Link <aqui>

Vídeos para Complementar a aprendizagem: 
Curso: Python Essencial
- Todo o Módulo 1 - https://pypro.com.br/curso/1/1

Canal pyPRO:
Aula 01 - Por que aprender programação? https://youtu.be/eGVNRynWMJ0
Aula 02 - Por que aprender Python? - https://youtu.be/BHEcKtP8bTI
Aula 03 - Comparação entre Python e outras linguagens - https://youtu.be/9CONtKJkdwY
Aula 04 - Quem sou eu? - https://youtu.be/1nnvScRn7p4

Vídeos sobre a história da computação e conceitos fundamentais:
Alguns termos utilizados em computação e matemática - Cálculo, Contas... - <link>


Ferramentas que utilizaremos: 
Google Colab - https://colab.google/
Anaconda - Jupyter Notebook - https://www.anaconda.com/download
Google Notebook LM - https://notebooklm.google.com/

Videos sobre GIT/GITHUB: 
CURSO de 2 horas - completo sobre GIT e GITHUB

Videoaulas complementares sobre GIT e GITHUB:
Parte 1: 
https://www.youtube.com/watch?v=DqTITcMq68k

Apresentação Config GIT/GITHUB :
GitHub Configuracao PPT - <aqui>

Vídeos para Complementar a aprendizagem: 
Instalação do Anaconda Python - Parte 1 (DSA) - https://www.youtube.com/watch?v=lC8_WhLJWMc
Instalação do Anaconda Python - Parte 2 (DSA) - https://www.youtube.com/watch?v=-agITg11JhE
Instalação Anaconda (Asimov Academy) - https://www.youtube.com/watch?v=tp4_BGU02VQ
Instalação do Anaconda (Código Fluente): https://www.youtube.com/watch?v=MOHziuKUgmM
Canal pyPRO:
Aula 05 - A instalação do Python - https://youtu.be/0iRTcMzS6EI
Aula 06 - A escolha de uma IDE - https://youtu.be/Lxqt0vdWTMw
Aula 07 - Instalação do PyCharm no Windows - https://youtu.be/7POnvegXmnc
Aula 08 - Instalação do PyCharm no Linux - https://youtu.be/zT0nf7-wNRk
Aula 09 - Instalação do PyCharm no MacOS - https://youtu.be/cYyQYADkC9Q
Aula 10 - Programação em Python utilizando o Navegador -  https://youtu.be/z76V6WcwXa0
Aula 11 - Programação Python utilizando um APP (no celular!) - https://youtu.be/X-cXcYWKdhY

Semana 02 - Pensamento Computacional: O que é e qual sua importância p/ Ciência de Dados

Tema:

Alinhar expectativas e introduzir os conceitos básicos de algoritmos e pensamento computacional. Também é objetivo familiarizar os estudantes com o ambiente Python/Colab/Jupyter Notebook e motivá-los mostrando como a programação será útil em Ciência de Dados.

A lógica e os algoritmos.

Slides:
Aula 02 - <aqui>

Material de Apoio: 
Capítulo 2 do Livro Texto: Python Essencial
e
Capítulo 01 - A lógica e os Algoritmos  do livro "Algoritmo e Programação de Computadores".
...
Artigo Alan Turing 1936 - On Computable Numbers...: <aqui>

Videos Sobre a preparação do Ambiente: 
Como utilizar o NotebookLM - https://youtu.be/sEMUyDGWsU4 

Todo o Módulo 2 do Curso "Python Essencial" - https://pypro.com.br/curso/1/1

Ferramentas que utilizaremos: 
Google Colab - https://colab.google/
Anaconda - Jupyter Notebook - https://www.anaconda.com/download
Google Notebook LM - https://notebooklm.google.com/

Videos sobre GIT/GITHUB: 
CURSO de 2 horas - completo sobre GIT e GITHUB

Videoaulas complementares sobre GIT e GITHUB:
Parte 1: 
https://www.youtube.com/watch?v=DqTITcMq68k

Apresentação Config GIT/GITHUB :
GitHub Configuracao PPT - <aqui>

Vídeos para Complementar a aprendizagem: 
Instalação do Anaconda Python - Parte 1 (DSA) - https://www.youtube.com/watch?v=lC8_WhLJWMc
Instalação do Anaconda Python - Parte 2 (DSA) - https://www.youtube.com/watch?v=-agITg11JhE
Instalação Anaconda (Asimov Academy) - https://www.youtube.com/watch?v=tp4_BGU02VQ
Instalação do Anaconda (Código Fluente): https://www.youtube.com/watch?v=MOHziuKUgmM
Canal pyPRO:
Aula 05 - A instalação do Python - https://youtu.be/0iRTcMzS6EI
Aula 06 - A escolha de uma IDE - https://youtu.be/Lxqt0vdWTMw
Aula 07 - Instalação do PyCharm no Windows - https://youtu.be/7POnvegXmnc
Aula 08 - Instalação do PyCharm no Linux - https://youtu.be/zT0nf7-wNRk
Aula 09 - Instalação do PyCharm no MacOS - https://youtu.be/cYyQYADkC9Q
Aula 10 - Programação em Python utilizando o Navegador -  https://youtu.be/z76V6WcwXa0
Aula 11 - Programação Python utilizando um APP (no celular!) - https://youtu.be/X-cXcYWKdhY

Semana 03 - Primeiro Programa - Variáveis, Tipos de Dados e Saída em Python

Tema:

Introduzir programação em Python, ensinando os alunos a escrever um primeiro programa simples. Apresentar conceitos de variáveis, tipos de dados primitivos (números, texto) e comandos básicos de saída (print). O objetivo é que cada estudante execute um pequeno código e perca o medo inicial de programar.


Slides:

Aula 03 - <aqui>
Aula 03 - Jupiter Nootebok - <aqui>

Material de Apoio: 
Capítulo 3 do Livro Texto: Python Essencial 

Videos Sobre a preparação do Ambiente: 
Todo o Módulo 3 do Curso "Python Essencial" - https://pypro.com.br/curso/1/1

Aula 16 - Primeiros comandos em Python: print e input - https://youtu.be/ASRhTpJNqq0
Aula 17 - Resposta do primeiro desafio - https://youtu.be/13LMpFucSX8
Aula 18 - Identificadores e Palavras Reservadas - https://youtu.be/i-GmnaIji8g
Aula 19 - Comentários em Linguagem Python - https://youtu.be/18qnageghXg
Aula 20 - Primeiros comandos em Linguagem Python - Usando uma IDE - https://youtu.be/g38rVYXIsk4
Aula 21 - O que é uma variável? - https://youtu.be/VAmRRTBXG4A
Aula 22 - O que é uma constante? - https://youtu.be/BhT27SUz5Kc
Aula 23 - Tipos de Dados em Python: INTEIRO - https://youtu.be/bFZk6l1OZDo
Aula 24 - Tipos de Dados em Python: FLOAT e COMPLEX - https://youtu.be/5iEaMPaqV2Y
Aula 25 - Tipos de Dados em Python: BOOLEAN - https://youtu.be/fAX8uIXDWyA
Aula 27 - Escopo e Conversão de Variáveis - https://youtu.be/o-SS_fMl0a4
Aula 28 - Desafio deste módulo - https://youtu.be/H0tbaq7S6M0

Semana 04 - /aula reposição/ - Introdução a História e evolução da computação / A informação e sua representação

Tema <aula de complemento>:

Introducação a Computação - Parte 1: História e Evolução da Computação / A Informação e sua representação

Slides:

Aula 04 - <aqui>  
 
Lista de Exercícios:
Lista de Exercícios para compensar a aula 04 - <aqui>  

Material de Apoio: 
Representação de Dados (Univesp) - <aqui>
Sistemas de Numeração e Conversão de Bases (Univesp) - <aqui

Videos passados em Aula:
Bits e Bytes - História - Parte 1 - <aqui>
Bits e Bytes - SW e HW - Parte 2 - <aqui>
Bits e Bytes - Imagens e Sons - Parte 3 - <aqui>
Bits e Bytes - Arquivos - Parte 4 - <aqui>
Bits e Bytes - Internet - Parte 5 - <aqui>

Vídeos sobre a história da computação e conceitos fundamentais:
Evolução: válvulas - transistores - circuitos integrados - <aqui>
Filme - O jogo da Imitação (trailler) - <aqui>
Filme - Piratas do Vale do Silício - (trailler) - <aqui>
Breve história dos computadores - <aqui>
Série de 4 Videos (KhanAcademy) sobre a História dos Computadores e Internet - <aqui>
Mais uma história resumida dos computadores - <aqui>
Outros vídeos interessantes:
História do ENIAC (primeiro computador digital) - <aqui>
História do Sistema Operacional Windows - <aqui>
História da IBM - <aqui>
História da Microsoft - <aqui>
História da Apple - <aqui>
História do Wifi - <aqui>
História dos SmarthWatches - <aqui>
História da Internet - <aqui>
História do email - <aqui>
História do Google - <aqui>
História da Inteligência Artificial - <aqui>

Semana 05 - Operadores, Cálculos Simpes e Entrada de Dados

Tema:

Aprimorar o uso de variáveis incluindo operações aritméticas e leitura de dados do usuário. Ensinar os operadores matemáticos básicos (soma, subtração, multiplicação, divisão, etc.) e mostrar como converter tipos de dados (por exemplo, string para inteiro) quando necessário. Ao final da semana, os alunos devem conseguir resolver problemas numéricos simples (cálculo de média, área de figuras geométricas etc.) via programação. 

Resolução de problemas. Expressões matemáticas. Tipos de Dados. Estruturas Sequenciais.


Slides:

Aula 05 - <aqui>
Aula 05 - Jupiter Nootebok - <aqui>

Material de Apoio: 
Livro Texto: Python Essencial
Capítulo 4

Livro: Algoritmos e Programação de Computadores
Capítulo 02 - O raciocínio e as formas de resolução de problemas  
Capítulo 03 - Expressões matemáticas e lógicas e seus operadores  
Capítulo 04 - Tipo de dados  
Capítulo 05 - Estrutura sequencial 

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 4 -  https://pypro.com.br/curso/1/1

Prompt de Comandos:
O que é Prompt de Comandos: https://www.youtube.com/watch?v=pwA_G8viy0E

Jupyter Notebook (como iniciá-lo)
Jupiter Notebook  (Data Science Academy): https://www.youtube.com/watch?v=QR8qlxVV7qE
Como utilizar o Jupyter Notebook (Synapse Data Science): https://www.youtube.com/watch?v=f8n-7joELls

Canal pyPRO:
Aula 12 - História da Linguagem Python - https://youtu.be/Y3hnQBse3ss
Aula 13 - Zen do Python - https://youtu.be/lXitJ2TBuT0
Aula 14 - PEP 8 - https://youtu.be/OpO-mne_yRM
Aula 15 - Funções dir() e help() - https://youtu.be/FA_oF-OaLsk
Aula 16 - Primeiros comandos em Python: print e input - https://youtu.be/ASRhTpJNqq0
Aula 17 - Resposta do primeiro desafio - https://youtu.be/13LMpFucSX8
Aula 18 - Identificadores e Palavras Reservadas - https://youtu.be/i-GmnaIji8g
Aula 19 - Comentários em Linguagem Python - https://youtu.be/18qnageghXg
Aula 20 - Primeiros comandos em Linguagem Python - Usando uma IDE - https://youtu.be/g38rVYXIsk4
Aula 21 - O que é uma variável? - https://youtu.be/VAmRRTBXG4A
Aula 22 - O que é uma constante? - https://youtu.be/BhT27SUz5Kc
Aula 23 - Tipos de Dados em Python: INTEIRO - https://youtu.be/bFZk6l1OZDo
Aula 24 - Tipos de Dados em Python: FLOAT e COMPLEX - https://youtu.be/5iEaMPaqV2Y
Aula 25 - Tipos de Dados em Python: BOOLEAN - https://youtu.be/fAX8uIXDWyA
Aula 27 - Escopo e Conversão de Variáveis - https://youtu.be/o-SS_fMl0a4
Aula 28 - Desafio deste módulo - https://youtu.be/H0tbaq7S6M0

Semana 06 -Tomando Decisões - Estruturas Condicionais (if/else)

Tema:

Introduzir as estruturas de controle de fluxo, em particular as condicionais (if, else, elif), permitindo que os alunos escrevam algoritmos que tomam decisões com base em valores e condições. Ao final da aula, espera-se que eles consigam implementar lógicas simples (como verificar se uma pessoa é maior ou menor de idade, se um cliente tem direito a desconto etc.).

Slides:

Aula 06 - <aqui>
Aula 06 - Jupiter Nootebok - <aqui>

Material de Apoio: 
Livro Texto - Python Essencial - Capítulo 6

Capítulo 06 - Estrutura  condicional simples e composta do livro "Algoritmos e Programação de Computadores".

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 6 - https://pypro.com.br/curso/1/1

Canal pyPRO:
Aula 29 - O que é uma expressão matemática? - https://youtu.be/rb2orBc_gVM
Aula 30 - O que é uma expressão lógica? - https://youtu.be/7fREjLdJBOc
Aula 31 - Estrutura Condicional - https://youtu.be/4Bc5HMEMyM4
Aula 32 - Comando elif - https://youtu.be/jT-zjJs8Pqc
Aula 33 - Aninhamento de Ifs - https://youtu.be/Jq_jZ-iXEGM
Aula 34 - Desafio deste módulo - https://youtu.be/jP0WjB6vBE8
Aula 35 - Resposta do Desafio deste Módulo - https://youtu.be/yAmhZ6g9r-Q

Semana 07 - Repetição de Ações - Introdução a Loops (for e while)

Tema:

Apresentar as estruturas de repetição (loops), permitindo automatizar tarefas repetitivas. Ensinar a sintaxe do for (percorrendo um intervalo de valores ou elementos de uma lista) e do while (que repete até uma condição tornar-se falsa). Objetivo final: que os alunos consigam reconhecer quando usar um loop e implementar exemplos como somatório, contagens e iteração em sequências.

Slides:
Aula 07 - <aqui>
Aula 07 - Jupiter Nootebok - <aqui>

Material de Apoio: 
Livro Texto: Python Essencial - Capítulo 7
e
Capítulo 08 - Estrutura de repetição do livro "Algoritmos e Programação de Computadores".

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 7 - https://pypro.com.br/curso/1/1

Canal pyPRO:
Aula 36 - O que são estruturas de repetição? - https://youtu.be/PUJV52JcCcU
Aula 37 - Estruturas de repetição: comando for - https://youtu.be/tHtBuGFYVnE
Aula 38 - Estruturas de repetição: comando while - https://youtu.be/7gwvopBnLqQ
Aula 39 - Estruturas de repetição: comandos break e continue - https://youtu.be/Eb9C_FdVtDU
Aula 40 - Desafio deste módulo - https://youtu.be/xReD5eSsDxU
Aula 41 - Resposta do desafio deste módulo - https://youtu.be/NuQwPx3Ep_k

Semana 08 - Prática Integrada - Construindo um Jogo Simples

Tema:

Consolidar o uso combinado de variáveis, condicionais e loops através de um miniprojeto lúdico. A ideia é que os alunos implementem um jogo de adivinhar número (ou jogo similar), colocando em prática tudo que aprenderam nas semanas anteriores. Isso também introduz elementos de biblioteca (geração de número aleatório) de forma motivadora.

Desafio:
“Vamos desenvolver um jogo de adivinhação: o computador 'pensa' em um número secreto e o jogador deve adivinhar, recebendo dicas se o palpite é maior ou menor que o número secreto.”  
Decomposição do problema: 
(1) Gerar um número aleatório em uma faixa (por exemplo 1 a 50); 
(2) Inicializar uma variável tentativa do usuário; 
(3) Enquanto a tentativa estiver errada, dar feedback "maior" ou "menor" e pedir nova tentativa; 
(4) Se acertar, parabenizar e encerrar.desafio: 

Slides:
Aula 08 - 
<aqui>

Material de Apoio: 
Todas as aulas e capítulos anteriores.

Vídeos para Complementar a aprendizagem: 
Video sobre Jogo - Adivinhar número entre 1 e 100 em Python: https://www.youtube.com/watch?v=t_pGcvGEImQ


Semana 09 - Estruturas de Dados Parte 1 - Listas e Sequências (e strings)

Tema:

Introduzir estruturas de dados compostas, focando em listas (e mencionando tuplas) em Python. Os alunos devem entender como criar listas, acessar elementos por índice, percorrer listas com loops, e utilizar operações básicas (adicionar, remover, fatiar). O objetivo é que percebam o poder de agrupar múltiplos valores em uma única estrutura e comecem a usar isso para resolver problemas que envolvem conjuntos de dados.


Lista de Exercícios:

Aula 9 - <aqui>
Aula 9 - Jupiter Nootebok - <aqui>

Material Complementar:
Curso online: Python Essencial - Capítulo 5

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 5 - https://pypro.com.br/curso/1/1

Canal pyPRO:
Aula 26 - Tipos de Dados em Python: STRING - https://youtu.be/UprOjDArIGE
Aula 42 - Listas - https://youtu.be/u1c2Z9E1DuM
Aula 43 - Tuplas - https://youtu.be/ckvv1-oS14Q

Complementar ainda os estudos... Videos da Data Science Academy:

Semana 10 - Estrutura de Dados Parte 2 - Dicionários e dados estruturados

Tema:

Introduzir dicionários (dict) em Python, uma estrutura de dados que mapeia chaves a valores, muito útil para representar relacionamentos (como cadastros, contagens por categoria etc.). Os alunos devem aprender a criar dicionários, acessar e modificar valores por chave, e percorrer dicionários. Além disso, explorar exemplos práticos relevantes a negócios, como um simples cadastro de clientes ou contagem de frequências.


Lista de Exercícios:

Aula 10 - <aqui>
Aula 10 - Jupiter Nootebok - <aqui>

Material Complementar:
Curso online: Python Essencial - Capítulo 5

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 5 - https://pypro.com.br/curso/1/1

Canal pyPRO:
Aula 44 - Dicionários - https://youtu.be/5OCdIbjmftA
Aula 45 - Conjuntos - https://youtu.be/kEuoxAlZIjg
Aula 46 - Desafio deste módulo - https://youtu.be/y7fkEXtyb8k
Aula 47 - Resposta do Desafio deste Módulo - https://youtu.be/ApZAcxrC7JI

Complementar ainda os estudos... Videos da Data Science Academy:

Semana 11 - Integração - Projeto de Análise de Dados Simples com Listas e Dicionários

Tema:

Aplicar conjuntamente listas, dicionários, condicionais e loops em um projeto integrado que simula uma pequena análise de dados. O objetivo é conectar a programação com o contexto de Ciência de Dados para Negócios: ler um conjunto de dados (mesmo pequeno), processá-lo e extrair informações úteis. Os alunos irão praticar leitura de arquivo ou entrada estruturada, armazenamento em estruturas de dados apropriadas e cálculo de métricas simples.

Slides:
Aula 11 - <aqui>
Aula 11 - arquivos - <aqui>

Dinâmica: 
Mini-projeto: Análise de Vendas Semanais
Tomando como base um arquivo com um dicionário contendo dia e valor das vendas (poderia também ser um arquivo CSV (valores separados por vírgula).
Desafio: ler esses dados, armazená-los, e responder a algumas perguntas – total da semana, média diária, dia de maior venda etc. 

Material de Apoio: 
Todas as aulas e capítulos anteriores.

Vídeos para Complementar a aprendizagem: 
Revisão de todos os vídeos até aqui apresentados.

Semana 12 - Primeira Avaliação Formal (P1) e Feedback

Tema:

Avaliar o conhecimento e as habilidades desenvolvidas pelos alunos na primeira metade da disciplina, abrangendo os tópicos iniciais (conceitos básicos de algoritmos e programação, estruturas sequenciais, condicionais, repetição, listas e dicionários). Além disso, a aula visa revisar e consolidar os conceitos por meio da correção comentada da prova, reforçando o aprendizado e corrigindo eventuais lacunas antes da segunda etapa do curso.

Material complementar 
Todos os materiais até aqui apresentados

Vídeos para Complementar a aprendizagem: 
Todos os vídeos até aqui apresentados

Semana 13 - Modularização do Código – Introdução a Funções

Tema:

Ensinar o conceito de função em programação, mostrando como definir funções em Python para reutilizar código e organizar melhor os programas. Os objetivos incluem: compreender a sintaxe de definição (def nome_funcao():), a ideia de passar parâmetros e obter retorno, e refatorar códigos existentes para usar funções. A semana busca melhorar a habilidade de abstração dos estudantes, encapsulando partes lógicas em “caixinhas” nomeadas.


Slides:
Aula 13 - <aqui>
Aula 13 - Jupiter Nootebok - <aqui>

Material de Apoio: 
Livro Texto - Python Essencial - Capítulo 8
e
Capítulo 11 - Modularização de algoritmos - Procedimentos e Funções  do livro "Algoritmos e Programação de Computadores".

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 8 - https://pypro.com.br/curso/1/1

Canal pyPRO:
Aula 48 - O que é uma Função? - https://youtu.be/m8e_E2pcpX4
Aula 49 - Função sem retorno - https://youtu.be/eJZhUA-SJWc  
Aula 50 - Função com retorno - https://youtu.be/Kij9vdbzmXY  
Aula 51 - Função com Parâmetro - https://youtu.be/5ty7-Bh2pIs   
Aula 52 - Função com Parâmetro padrão - https://youtu.be/NAI4z51RK2Q  
Aula 53 - Documentação de Funções: DocString - https://youtu.be/Ng655oU-Cos 
Aula 54 - Argumentos *args e **kwargs - https://youtu.be/bgvLtxWkIsE    
Aula 55 - Desafio deste módulo ( e resposta ) - https://youtu.be/l1nXfE3akd4

Semana 14 - Parâmetros, Retorno e Boas Práticas de Funções

Tema:

Aprofundar o uso de funções, explorando detalhes como múltiplos parâmetros, valor de retorno, documentação e teste de funções. Consolidar o entendimento de escopo de variáveis. Introduzir boas práticas como escrever docstrings (documentação da função) e testar funções isoladamente. Ao final, os alunos devem ser capazes de criar funções robustas e ter confiança em usá-las para estruturar soluções maiores.


Slides:
Aula 14 - <aqui>
Aula 14 - Jupiter Nootebok - <aqui>


Material de Apoio: 
Livro Texto - Python Essencial - Capítulo 8
e
Capítulo 11 - Modularização de algoritmos - Procedimentos e Funções  do livro "Algoritmos e Programação de Computadores".

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 8 - https://pypro.com.br/curso/1/1

Canal pyPRO:
Aula 48 - O que é uma Função? - https://youtu.be/m8e_E2pcpX4
Aula 49 - Função sem retorno - https://youtu.be/eJZhUA-SJWc  
Aula 50 - Função com retorno - https://youtu.be/Kij9vdbzmXY  
Aula 51 - Função com Parâmetro - https://youtu.be/5ty7-Bh2pIs   
Aula 52 - Função com Parâmetro padrão - https://youtu.be/NAI4z51RK2Q  
Aula 53 - Documentação de Funções: DocString - https://youtu.be/Ng655oU-Cos 
Aula 54 - Argumentos *args e **kwargs - https://youtu.be/bgvLtxWkIsE    
Aula 55 - Desafio deste módulo ( e resposta ) - https://youtu.be/l1nXfE3akd4


Semana 15 - Continuação de Funções, Módulos e Pacotes em Python

Tema:

Aprofundar o conhecimento em funções já introduzidas nas semanas anteriores e apresentar formas de organizar código em módulos e pacotes para projetos de maior porte. Ao final da aula, os alunos deverão entender como separar funções em arquivos distintos e agrupar módulos em pacotes, favorecendo a reutilização e a manutenção do código em projetos reais. 


Slides:
Aula 15 - <aqui>
Aula 15 - Jupiter Nootebok - <aqui>

Material de Apoio: 
Livro Texto - Python Essencial - Capítulo 9
e
Capítulo 11 - Modularização de algoritmos - Procedimentos e Funções  do livro "Algoritmos e Programação de Computadores".

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 9 - https://pypro.com.br/curso/1/1

Canal pyPRO:
Aula 62 - O que são Módulos? - https://youtu.be/23x0lqAs8e8
Aula 63 - O módulo "random" - https://youtu.be/0YnwxsutecU
Aula 64 - Módulos Built-in - https://youtu.be/YabJvbdteUc
Aula 65 - Módulos e Pacotes de Terceiros - https://youtu.be/__s2krPq4dk
Aula 66 - Módulos Customizados - https://youtu.be/YoZkPUXZg9c
Aula 67 - Métodos __main__ e __name__  - https://youtu.be/E-vhBOQf4oA

Semana 16 - Introdução a Machine Learning

Tema:

Apresentar os conceitos fundamentais de Machine Learning (Aprendizado de Máquina), abordando seus principais tipos – supervisionado e não supervisionado – e discutir aplicações práticas no contexto de negócios. A intenção é que os alunos compreendam o que é Machine Learning, em quais situações ele pode ser aplicado (por exemplo, previsão de vendas, segmentação de clientes) e reconheçam termos básicos como modelo, treinamento, dados de teste etc., sem entrar em detalhes matemáticos aprofundados.

Slides:
Aula 16 - <aqui>
Aula 16 - Jupiter Nootebok - <aqui>

Material de Apoio: 
Livro Texto: Python Essencial - Capítulo 10

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 10 - https://pypro.com.br/curso/1/1

Data Science Academy
O que é Machine Learning? - https://www.youtube.com/watch?v=Mjy9v0wyBeA


Semana 17 - Semana de Apresentação dos PIs em CDN

Tema:

Proporcionar aos alunos a oportunidade de apresentar seus projetos finais – no caso do curso de Ciência de Dados para Negócios, trata-se do Projeto Integrador (PI) – fortalecendo habilidades de comunicação, síntese de resultados e argumentação técnica. Além disso, este momento serve para celebrar e avaliar de forma qualitativa as conquistas da turma, promovendo troca de conhecimentos entre os grupos e reflexão sobre o aprendizado ao longo do semestre.


Como será...:

Apresentações finais dos Projetos Integradores, um marco importante no curso de Ciência de Dados para Negócios. 

Este é o momento em que cada grupo compartilha o resultado do trabalho desenvolvido ao longo do semestre, no qual analisaram um negócio específico, compreenderam seus processos e propuseram soluções apoiadas por algoritmos e ciência de dados. 

As apresentações são realizadas diante de uma banca de professores, que avaliam tanto a profundidade técnica quanto a clareza da comunicação e a capacidade de contextualizar o problema e as soluções propostas. 

Para acomodar todos os grupos, a programação normalmente se estende por mais de uma noite, garantindo que cada equipe tenha o tempo necessário para expor seu projeto de forma completa e responder a perguntas da banca. 

Esse momento vai além de uma simples entrega: é uma oportunidade para os estudantes demonstrarem domínio do conteúdo, habilidades de síntese e argumentação técnica, além de exercitarem o pensamento crítico ao lidar com os questionamentos e sugestões dos avaliadores.

Semana 18 - Introdução à Ciência de Dados – Pipeline e Estudo de Caso

Tema:

Proporcionar uma visão integrada do pipeline completo de um projeto de Ciência de Dados, desde as etapas iniciais de obtenção dos dados até as fases finais de visualização e interpretação dos resultados. O objetivo é que os alunos compreendam como conectar as técnicas isoladas aprendidas (limpeza, análise exploratória, modelagem básica, visualização) em um fluxo coeso de projeto, e desenvolvam a capacidade de pensar sobre um problema de dados de forma holística.

Slides:
Aula 18 - Parte 1 - <aqui>
Aula 18 - Parte 2 - <aqui>
Aula 18 - Jupiter Nootebok - <aqui>

Material de Apoio: 
Livro Texto: Python Essencial - Capítulo 11

Vídeos para Complementar a aprendizagem: 
Curso Online: Python Essencial
Todo o Módulo 11 - https://pypro.com.br/curso/1/1

Semanas 19 e 20 - Segunda Avaliação Formal (P2) - Exame/Reavaliação - Divulgação do Resultado Final

Tema - Aula 19:

Avaliar o conhecimento e as habilidades desenvolvidas pelos alunos na segunda parte da disciplina, cobrindo os tópicos mais avançados abordados após a primeira avaliação (por exemplo, estruturas de dados avançadas, funções, introdução a ML e ciência de dados). Além disso, a aula objetiva revisar e reforçar os conceitos por meio da correção comentada da prova, de forma que os alunos aprendam com eventuais erros antes de concluírem o curso.

Tema - Aula 20:

Oferecer aos alunos que precisam uma última oportunidade de avaliação – seja um exame final para quem não atingiu a média ou uma prova substitutiva para quem faltou/em recuperação – e, simultaneamente, encerrar formalmente a disciplina com a divulgação e discussão dos resultados finais. É um momento de conclusão, visando assegurar que todos tenham atingido um nível mínimo de proficiência ou identificar eventuais lacunas remanescentes, além de refletir sobre a trajetória do curso.

Conteúdo
Todos os materiais, capítulos, videos e videoaulas até aqui apresentados.

Desejo muito sucesso!! Parabéns por chegar até aqui! Até o próximo semestre, em Algoritmos e Estrutura de Dados 2 !!!