CURSO

Curso Python 3: Algoritmos e Estruturas de Dados

Sobre o curso
0,00

Carga horária de 23 horas. Algoritmos e Estruturas de Dados utilizando a linguagem Python 3
  • Data de publicação: 05/09/2017
  • Idioma: Português (Brasil)
  • Plataforma: Udemy
Ver curso

Ementa do Curso

  • Módulo 01 | Começando a programar em Python
    1. Instalação do Python 3 
    2. Sintaxe básica do Python - Parte 1 
    3. Exercícios sobre a sintaxe da linguagem 
    4. Sintaxe básica do Python - Parte 2 
    5. Exercícios sobre a sintaxe da linguagem 
    6. Sintaxe básica do Python - Parte 3 
    7. Exercícios sobre a sintaxe da linguagem 
    8. Programação Funcional com Python 
    9. Exercícios sobre programação funcional 
    10. Recursividade 
    11. Exercícios sobre recursividade 
    12. Manipulando listas 
    13. Exercícios sobre listas 
    14. Desempacotamento de sequências 
    15. Gerando números pseudo-aleatórios 
    16. Exercícios sobre o módulo random 
    17. Módulo math (funções matemáticas) 
    18. Criando módulos 
    19. Criando testes com unittest 
    20. Exercícios sobre o módulo unittest 
    21. Criando testes com pytest 
    22. Herança 
    23. Exercícios sobre herança 
    24. Encapsulamento de dados 
    25. Threads 
    26. Exercícios sobre threads 
    27. Interface gráfica com tkinter 
    28. Exercícios sobre o módulo tkinter 
    29. Introdução à construção de aplicações web com Bottle 
    30. Exercícios sobre o framework Bottle 
    31. Criando games com CodeSkulptor 
  • Módulo 02 | Algoritmos e Estruturas de Dados
    1. Pilha 
    2. Exercícios sobre pilha 
    3. Otimizando a pilha 
    4. Matrizes 
    5. Exercícios sobre matrizes 
    6. Exercícios sobre fila 
    7. Deque - Parte 1 
    8. Deque - Parte 2 
    9. Deque com o módulo collections.deque 
    10. Lista Ligada - Parte 1 
    11. Lista Ligada - Parte 2 
    12. Lista Ligada - Parte 3 
    13. Exercícios sobre lista ligada 
    14. Árvore Binária de Busca - Parte 1 
    15. Árvore Binária de Busca - Parte 2 
    16. Árvore Binária de Busca - Parte 3 
    17. Árvore Binária de Busca - Parte 4 
    18. Árvore Binária de Busca - Parte 5 
    19. Árvore Binária de Busca - Parte 6 
    20. Exercícios sobre árvore binária de busca 
    21. Fila de prioridades - Parte 1 
    22. Fila de prioridades - Parte 2 
    23. Heap Binária - Definição 
    24. Fila de prioridades com o módulo heapq 
    25. Exercícios sobre fila de prioridades 
    26. Tabela Hash - Definição 
    27. Tabela Hash com encadeamento externo 
    28. Dicionários 
    29. Exercícios sobre tabelas hash 
    30. Exercícios sobre conjuntos 
    31. Listas, tuplas, conjuntos e dicionários 
    32. Exercícios sobre listas, tuplas, conjuntos e dicionários 
    33. Análise assintótica 
    34. Exercícios sobre análise assintótica 
    35. Grafos - Definição 
    36. Exercícios sobre grafos 
    37. Grafos - Matriz de adjacência 
    38. Grafos - Lista de adjacência 
    39. Grafos - Busca em profundidade 
    40. Grafos - Busca em largura - Definição 
    41. Grafos - Busca em largura - Implementação
    42. Exercícios sobre busca em grafos 
    43. Grafos com o módulo defaultdict 
    44. Programação dinâmica 
    45. Exercícios sobre programação dinâmica 
    46. Algoritmos gulosos 
    47. Algoritmo de Dijkstra - Definição 
    48. Algoritmo de Dijkstra - Implementação 
    49. Exercícios sobre o algoritmo de Dijkstra 
    50. Detectando ciclos em grafos 
    51. Backtracking - Definição 
    52. Backtracking - Implementação 
    53. Algoritmo de ordenação Bubble sort - Definição 
    54. Algoritmo de ordenação Bubble sort - Implementação 
    55. Algoritmo de ordenação Selection Sort - Definição 
    56. Algoritmo de ordenação Selection Sort - Implementação 
    57. Algoritmo de ordenação Insertion Sort - Definição 
    58. Algoritmo de ordenação Insertion Sort - Implementação 
    59. Algoritmo de ordenação Quick sort - Definição 
    60. Algoritmo de ordenação Quick sort - Implementação 
    61. Exercícios sobre algoritmos de ordenação 
    62. Função sort 
    63. Metaheurísticas: Simulated Annealing - Definição 
    64. Metaheurísticas: Simulated Annealing - Implementação 
    65. Problema do Caixeiro Viajante - Definição 
    66. Exercícios sobre o problema do caixeiro viajante 
    67. Gerador de grafos completos 
    68. Gerador de grafos completos incrementado
    69. Caixeiro Viajante aleatório - Parte 1 
    70. Caixeiro Viajante aleatório - Parte 2 
    71. Algoritmos Genéticos - Definição - Parte 1 
    72. Algoritmos Genéticos - Definição - Parte 2 
    73. Algoritmos Genéticos - Definição - Parte 3 
    74. Exercícios sobre algoritmos genéticos 
    75. 1 pergunta
    76. Algoritmos Genéticos para o PCV - Parte 1 
    77. Algoritmos Genéticos para o PCV - Parte 2 
    78. Algoritmos Genéticos para o PCV - Parte 3 
    79. Algoritmos Genéticos para o PCV - Parte 4 
    80. Redes Neurais Artificiais - Definição - Parte 1
    81. Redes Neurais Artificiais - Definição - Parte 2
    82. Redes Neurais Artificiais - Definição - Parte 3
    83. Redes Neurais Artificiais - Definição - Parte 4
    84. Exercícios sobre redes neurais 
    85. Rede Neural Perceptron - Implementação - Parte 1 
    86. Rede Neural Perceptron - Implementação - Parte 2 
    87. Rede Neural Perceptron - Implementação - Parte 3 
    88. Redes Neurais Artificiais com PyBrain 
    89. Busca Tabu - Definição - Parte 1 
    90. Busca Tabu - Definição - Parte 2 
    91. Busca Tabu - Definição - Parte 3 
    92. Exercícios sobre Busca Tabu 
    93. Busca Tabu - Implementação - Parte 1 
    94. Busca Tabu - Implementação - Parte 2 
    95. Busca Tabu - Implementação - Parte 3 
    96. Busca Binária 
    97. Exercícios sobre Busca Binária 
    98. Distância Hamming 
    99. Exercícios sobre distância Hamming 
    100. Distância de edição (Edit distance) 
    101. Pattern-Matching - Brute-force 
    102. Algoritmo de Needleman-Wunsch - Definição
    103. Algoritmo de Needleman-Wunsch - Implementação - Parte 1 
    104. Algoritmo de Needleman-Wunsch - Implementação - Parte 2 
    105. Agrupamento - Algoritmo K-Means - Definição 
    106. Algoritmo K-Means - Implementação - Parte 1
    107. Algoritmo K-Means - Implementação - Parte 2
    108. Algoritmo K-Means - Implementação - Parte 3
    109. Algoritmo K-Means - Implementação - Parte 4
    110. Algoritmo K-Means - Implementação - Parte 5
    111. Algoritmo K-Means - Implementação - Parte 6
    112. Criptografia - Cifra de César - Definição 
    113. Criptografia - Cifra de César - Implementação
  • Módulo 03 | Python for fun
    1. Começando a programar jogos com PyGame
    2. Rocket Game - Parte 1 
    3. Rocket Game - Parte 2 
    4. Facebook profile photo 
    5. Armazenando os dados com SQLite3 
    6. YouTube Downloader 
    7. Programando tarefas (schedule) 
    8. Manipulando arquivos 
    9. Tradução online com google-translate 
    10. Adivinhe o número 
    11. Gerando todas as permutações 
    12. Decorators 
    13. Space Invaders - Parte 1 
    14. Space Invaders - Parte 2 
    15. Space Invaders - Parte 3 
    16. Space Invaders - Parte 4 
    17. Space Invaders - Parte 5 
    18. Space Invaders - Parte 6 
    19. Space Invaders - Parte 7 
    20. Expressões regulares 
    21. Módulo urllib 
    22. Bioinformática com Python 
    23. Bioinformática com Biopython 
    24. Strings imutáveis 
    25. Similaridade entre strings com o módulo difflib 
    26. Gerando QR Code com Python 
    27. Conhecendo o módulo NumPy 
    28. Plotando gráficos com matplotlib 
    29. Estendendo código Python com C - Parte 1
    30. Estendendo código Python com C - Parte 2
    31. Manipulando arquivos no formato PDF 
    32. Escopos e Namespaces 
    33. Construindo um editor de texto 
    34. Visão Computacional com OpenCV 
    35. Interface gráfica com PySide 
  • Módulo 04 | Considerações finais
    1. Dicas de livros 
    2. Obrigado! 

Mais informações

A escolha de uma determinada estrutura de dados influencia bastante na eficiência de um software, ou seja, a organização dos dados durante o processamento tem um efeito crucial na velocidade do software.

Esse curso tem como objetivo apresentar as mais variadas estruturas de dados de modo que elas possam ser utilizadas eficientemente. Os estudantes irão aprender a implementar várias estruturas de dados através do estudo de algoritmos para a criação e manipulação dessas estruturas.

Será utilizada a linguagem Python 3 para facilitar a compreensão e implementação das estruturas. A linguagem Python é uma linguagem fácil de aprender que permite um desenvolvimento ágil mesmo para quem não tem tanta intimidade com a linguagem.

Carga horária:

  • 23 horas

O que aprenderei?

  • Conhecer as mais variadas estruturas de dados.
  • Criar suas próprias estruturas de dados.
  • Ter uma boa noção de armazenamento e organização de dados.
  • Entendimento e implementação de vários algoritmos importantes.
Quem é o público-alvo?
  • Devem fazer esse curso todas as pessoas que queiram aprender mais sobre algoritmos e estruturas de dados utilizando a linguagem Python.

Ver curso
foto de Marcos Castro
Marcos Castro
Formado em Ciência da Computação. Instrutor com mais de 23 mil alunos espalhados por mais de 90 países.

Qual a sua avaliação para este hangout?

foto de


AVALIAÇÕES

Ninguém avaliou este curso ainda. Seja o primeiro...