21 julho 2024

Semana 00 - Planejamento da 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 II (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

GOODRICH, Michael T; TAMASSIA, Roberto; GOLDWASSER, Michael H. Data Structures and Algorithms in Python. John Wiley & Sons, Inc, 2013. 8576058812, 9788576058816.

Outras recomendações são as seguintes:

Estrutura de Dados e Técnicas de Programação. Editora Campus/Elsevier.
Autores: BIANCHI, Francisco; FREITAS, Ricardo; PIVA Jr, Dilermando. Elsevier Brasil, 2014. ISBN: 8535274383, 9788535274387.

Estrutura de Dados. Editora Bookman.
Autores: EDELWEISS, Nina; GALANTE, Renata. Porto Alegre: Bookman, 2009. ISBN: 857780450X, 9788577804504.


Fundamentos de Python: Estrutura de Dados. Editora CENGAGE.
Autor: Kenneth A. LAMBERT



Data Structure and Algorithmic: Thinking with Python. Editora CareerMonk Publications.
Autor: Narasimha Karumanchi



Data Structures and Algorithms with Python. Editora UTICS / Springer
Autores: Kent D. Lee; Steve Hubbard.



Algoritmos e Estruturas de Dados em Python. Apostila UFSCAR 
Autor: Alexandre Luis Magalhães Levada



Site pyPRO:  https://pypro.com.br
Autor: Dilermando Piva Jr.




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

Curso na UDEMY Gratuito - Python para Data Science:   🔗 https://www.udemy.com/course/python-para-data-science-parte1/
Autor: Dilermando Piva Jr.



Semana 01 - Acolhimento e Boas-Vindas. Introdução a Disciplina

 

Tema:

Acolhimento e Boas-vindas! Introdução a Disciplina. Formas de Avaliação e Percurso Pedagógico. Por que estudar Estrutura de Dados. Tipo de dado abstrato.

Slides:
Aula 01 - <aqui>

Material de Apoio: 
Primeiro capítulo da apostila "Algoritmos e Estruturas de Dados em Python." Apostila UFSCAR de Alexandre Luis Magalhães Levada

Vídeos sobre a história da computação e conceitos fundamentais:
Por que estudar Algoritmos e Estrutura de Dados (Programação Dinâmica) - <aqui>
O que é Estrutura de Dados (Alura) - <aqui>


Semana 02 - Complexidade de Algoritmos

 
Tema:
Complexidade de Algoritmos

Slides:

Aula 02 - <aqui>
Aula 02 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 3 do livro "Data Structures and Algorithms in Python" (livro 3) - Análise de Algorítmos
Capítulo 2 (aula 2) da Apostila da UFSCar

Vídeos sobre a história da computação e conceitos fundamentais:Evolução: válvulas Análise de Algoritmos - Passo a Passo (parte 1) - <aqui>
Notação Big O e Complexidade de Algoritmos - <aqui>

Semana 03 - Revisão de POO

Tema:

Introdução a Orientação a Objetos (Paradigma Orientado a Objetos). POO (Programação Orientada a Objetos).

Slides:

Aula 03 - <aqui>
Aula 03 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Quarta capítulo (aula 4) da apostila "Algoritmos e Estruturas de Dados em Python." Apostila UFSCAR de Alexandre Luis Magalhães Levada - Programação orientada a objetos em Python.

Vídeos :
Canal PyPRO:
Módulo 01 - Introdução a Orientação a Objetos
Aula 87 - O que é Orientação a Objetos? - https://youtu.be/4T1cPao21dI             
Aula 88 - Pilares da Orientação a Objetos - https://youtu.be/p46aO2J2nzA           
Aula 89 - Relação entre Classe e Objeto... - https://youtu.be/BfJ2Dh_tYhA          
Aula 90 - Criando uma Classe em Python -  https://youtu.be/1qmE9I20aYs                           
Aula 91 - Criando mais um Classe... - https://youtu.be/E6-PGGv8XxI                 
Aula 92 - Atributos Privados - https://youtu.be/wtu8_KY2OH0                        
Aula 93 - Métodos getters e setters - https://youtu.be/oWjDD6qZhkY                 
Aula 94 - Atributos de Classe - https://youtu.be/xiFkZdiXxls 
Exemplo de utilização com programação de um Jogo (Jogo da Forca) em OO:
Aula 99 - Projeto OO - Parte1 - Jogo da Forca - https://youtu.be/-vUdc2HxNpw      
Aula 100- Projeto OO - Parte2 - Jogo da Forca - https://youtu.be/aJEwMOnqlB0      
Aula 101- Projeto OO - Parte3 - Jogo da Forca - https://youtu.be/8pGY26qfhks  
Aula 102- Projeto OO - Parte4 - Jogo da Forca - https://youtu.be/fRBRat4HpDU 

Outros vídeos de outros Professores e Canais:
O que é POO (Hashtag em 10 minutos): https://www.youtube.com/watch?v=97A_Cyyh-eU
Canal ByLearn: Dominando POO: https://www.youtube.com/watch?v=yZ83sZUvLVw
Orientação a Objetos (Alura): https://www.youtube.com/watch?v=jpuJ1qrluoU

Semana 04 - Vetores não-Ordenados e busca sequencial

Tema:

Vetores não-ordenados e busca sequencial

Slides:

Aula 04 - <aqui>
Aula 04 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 4 do livro: "Estrutura de Dados e Técnicas de Programação" (Métodos de Busca)

Vídeos:
Ainda não disponível... <em breve>

Semana 05 - Vetores Ordenados e busca binária

Tema:

Vetores Ordenados e Busca Binária

Slides:

Aula 05 - <aqui>
Aula 05 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 4 do livro: "Estrutura de Dados e Técnicas de Programação" (Métodos de Busca)

Vídeos:
Ainda não disponível... <em breve>

Semana 06 - Pilhas

Tema:

Pilhas

Slides:

Aula 06 - <aqui>
Aula 06 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 10 do livro: "Estrutura de Dados e Técnicas de Programação" (Métodos de Busca)
Capítulo 5 (aula 5) da Apostila da UFSCar

Vídeos:
Ainda não disponível... <em breve>

Semana 07 - Filas

Tema:

Filas

Slides:

Aula 07 - <aqui>
Aula 07 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 9 do livro: "Estrutura de Dados e Técnicas de Programação" (Métodos de Busca)
Capítulo 5 (aula 5) da Apostila da UFSCar

Vídeos:
Ainda não disponível... <em breve>

Semana 08 - Listas Encadeadas

Tema:

Listas Encadeadas

Slides:

Aula 08 - <aqui>
Aula 08 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 7 do livro: "Estrutura de Dados e Técnicas de Programação" (Métodos de Busca)
Capítulo 6 (aula 6) da Apostila da UFSCar

Vídeos:
Ainda não disponível... <em breve>

Semana 09 - Recursão


Tema:
Recursão

Slides:

Aula 09 - <aqui>
Aula 09 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 3 do livro: "Estrutura de Dados e Técnicas de Programação" (Métodos de Busca)

Vídeos:
Ainda não disponível... <em breve>

Semana 10 - Primeira Avaliação (p1)

Tema:

Primeira avaliação formal (30%)

Material de Apoio: 
Todos os materiais até a aula 9

Semanas 11 e 12 - Algoritmos de Ordenação

Tema:

Algoritmos de Ordenação

Slides:

Aulas 11 e 12 - <aqui>
Aulas 11 e 12 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 5 do livro: "Estrutura de Dados e Técnicas de Programação" (Métodos de Busca)
Capítulo 3 (aula 3) da Apostila da UFSCar

Vídeos:
Ainda não disponível... <em breve>

Semanas 13 e 14 - Árvores

Tema:

Árvores e árvores binárias.

Slides:

Aulas 13 e 14 - <aqui>
Aulas 13 e 14 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 11 do livro: "Estrutura de Dados e Técnicas de Programação" (Árvores)
Capítulo 7 (aula 7) da Apostila da UFSCar

Vídeos:
Ainda não disponível... <em breve>

Semanas 15 e 16 - Grafos

Tema:

Grafos

Slides:

Aulas 15 e 16 - <aqui>
Aulas 15 e 16 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 14 do livro: "Estrutura de Dados e Técnicas de Programação" (Grafos)
Capítulos 8 e 9 (aula 8 e 9) da Apostila da UFSCar

Vídeos:
Ainda não disponível... <em breve> 

Semana 17 - Tabela Hash (Tabela de Espalhamento)

Tema:

Tabela Hash (Tabela de Espalhamento)

Slides:

Aula 17 - <aqui>
Aula 17 - Arquivos Jupyter Notebook - <aqui>

Material de Apoio: 
Capítulo 4 do livro: "Estrutura de Dados e Técnicas de Programação" (Métodos de Busca - Tabela Hash)

Vídeos:
Ainda não disponível... <em breve>

Semana 18 - Segunda Avaliação (P2)

Tema:

Segunda avaliação formal (p2 - 40%)

Material de Apoio: 
Todas os materiais até a aula 17.

Semana 19 - Exame / Avaliação Sub / Correção

Tema:

Exame ou Avaliação Substitutica
Após o intervalo (correção)

Material de Apoio: 
Todos os materiais da disciplina.

Semana 20 - Divulgação do Resultado Final


Tema:
Divulgação dos resultados

Resultado Final:

Breve - <aqui>