Nós fizemos um workshop bem legal de Python para Economia do Departamento de Economia da UFBA. Esse foi o material do curso.
Aula 1 de Métodos Computacionais em Economia: Noções de Programação Estruturada
Esses são os
slides usados em sala de aula.
Abaixo temos os exemplos apresentados em sala de aula:
Exemplo de Controle de Fluxo usando Condicionais
Exemplo do uso do Loop For em um programa computacional
Exemplo do uso do Loop While em um programa computacional
Referências Adicionais para essa aula:
Algoritmos em Ciência Popular:
Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers Hardcover - John MacCormick
In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation - William J. Cook
Everything Is Obvious: How Common Sense Fails Us Paperback -
Duncan J. Watts
Referências de Python:
Think Python - Allen Downey
Alguns links externos relacionados com essa aula:
Computação Humana
Page Rank
Melhores livros de Python
Soluções das séries de exercício:
Questão 1
Questão 2
Questão 3
Questão 4
Questão 5
Aula 2 de Métodos Computacionais em Economia - Coleções Básicas de Dados
Na nossa segunda aula de métodos computacionais discutimos coleções básicas de dados. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Como usar sequências de dados ou arrays em programação estruturada?
Como usar conjuntos ou sets em programação computacional?
Como usar mapas (maps) ou dicionários em programação computacional?
Aula 3 de Métodos Computacionais em Economia - Recursão
Na nossa terceira aula de métodos computacionais discutimos recursões. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Implementações da sequencia de Fibonacci
Implementações do fatorial de um número
Solução da Torre de Hanoi
Soluções da série de exercícios
Pinturas de Mondrian usando recursão
Árvores usando recursão
Aula 4 Marriage Matching problem
Na nossa quarta aula de métodos computacionais discutimos o problema clássico conhecido como Marriage-Matching problem. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Marriage Matching problem
Aula 5 Monte Carlo
Na nossa quinta aula de métodos computacionais introduzimos técnicas de Monte Carlo. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Relação entre as áreas do círculo e quadrado
Consistência do OLS
Album de figurinhas
Aula 6 Biliotecas de Python
Na nossa sexta aula de métodos computacionais apresentamos algumas bibliotecas de Python. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Python para Introductory Econometrics - Wooldridge
Search This Blog
Thursday, April 28, 2016
Tuesday, April 19, 2016
Aula 12 de Métodos Computacionais em Economia - Transformação e Conquista
Na nossa décima segunda aula de métodos computacionais discutimos a estratégia conhecida como Transformação e Conquista. Esses são os slides usados em sala.
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Seções 6.1 e 6.2]
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Seções 6.1 e 6.2]
Aula 11 de Métodos Computacionais em Economia - Divisão e Conquista
Na nossa décima primeira aula de métodos computacionais discutimos a estratégia conhecida como Divisão e Conquista. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Merge sort
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Capítulo 5]
Solução de exercícios:
Produto de matrizes
Inversões
Quick sort
Abaixo temos os exemplos apresentados em sala de aula:
Merge sort
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Capítulo 5]
Solução de exercícios:
Produto de matrizes
Inversões
Quick sort
Aula 10 de Métodos Computacionais em Economia - Redução e Conquista
Na nossa décima aula de métodos computacionais discutimos a estratégia conhecida como Redução e Conquista. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Torre de Hanoi
Busca binária
Insertion sort
Ordenação topológica
Permutações
Geração de todos os subconjuntos
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Capítulo 4]
Abaixo temos os exemplos apresentados em sala de aula:
Torre de Hanoi
Busca binária
Insertion sort
Ordenação topológica
Permutações
Geração de todos os subconjuntos
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Capítulo 4]
Friday, April 15, 2016
Por que dia 17 de abril devemos ir para a rua pelo impedimento da Presidente Dilma?
Depois de ouvir muita bobagem, eu senti a obrigação de escrever esse post.
Por que você deve ser a favor do impedimento da Presidente Dilma e deve defender isso na rua?
1) Porque ela cometeu um crime de responsabilidade e NÃO é golpe. Gente, o SUPREMO já disse que não é golpe!
2) Porque ela acabou com o nosso sonho do Brasil ser um país desenvolvido. Minha geração provavelmente não verá mais isso, embora isso fosse provável quando Fernando Henrique entregou o país ao Lula.
3) Porque pais de família estão perdendo empregos e estabelecimentos comerciais estão fechando em consequência da política fiscal e econômica que ela promoveu em seu mandato.
4) Porque o Brasil quer menos inflação e uma nova agenda de crescimento econômico que ela não é capaz de fornecer.
5) Porque hoje temos a corrupção institucionalizada no país e queremos menos corrupção.
6) Porque ela e seus convidados tem feito manifestações constantes contra a Lava-Jato e contra as instituições desse país. A Lava-Jato é a ação mais bem sucedida contra a corrupção já implementada no Brasil.
7) Porque o palácio do planalto tem acolhido supostos criminosos.
8) Porque o Brasil não deve existir para servir a agenda do PT.
9) Porque precisamos de mais meritocracia e menos mediocracia.
10) Porque queremos mais liberdade!!
Sim, eu sei que tirar a Dilma não resolve todos os problemas do país! Mas é um bom começo!
Aula 9 de Métodos Computacionais em Economia - Força Bruta III - Busca Exaustiva em Grafos
Na nossa nona aula de métodos computacionais discutimos os algoritmos BFS e DFS que promovem busca exaustiva em grafos e várias de suas aplicações. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Análise empírica de redes
Como implementar o algoritmo de busca exaustiva em grafos conhecido como breadth first search - BFS (busca em largura)?
Como implementar o algoritmo de busca exaustiva em grafos conhecido como depth first search - DFS (Busca em profundidade)?
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Seção 3.5]
Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein [Capítulo 22]
Referências complementares para essa aula:
Networks: An Introduction - Mark Newman
Soluções de exercícios:
Como implementar BFS e DFS em Python e extrair informações úteis de um grafo, como conectividade, aciclicidade, etc?
Abaixo temos os exemplos apresentados em sala de aula:
Análise empírica de redes
Como implementar o algoritmo de busca exaustiva em grafos conhecido como breadth first search - BFS (busca em largura)?
Como implementar o algoritmo de busca exaustiva em grafos conhecido como depth first search - DFS (Busca em profundidade)?
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Seção 3.5]
Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein [Capítulo 22]
Referências complementares para essa aula:
Networks: An Introduction - Mark Newman
Soluções de exercícios:
Como implementar BFS e DFS em Python e extrair informações úteis de um grafo, como conectividade, aciclicidade, etc?
Friday, April 8, 2016
Aula 8 de Métodos Computacionais em Economia - Força Bruta II - Busca Exaustiva
Na nossa oitava aula de métodos computacionais discutimos vários problemas clássicos usando o método de busca exaustiva. Nessa aula, vimos nosso primeiro problema com sabor de teoria econômico - o chamado problema Marriage-Matching. A solução apresentada foi uma baseada em busca exaustiva. Obviamente, nas próximas aulas iremos aprender estratégias que produzam algoritmos menos custosos. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Existem bibliotecas prontas em python para gerar permutações e combinações?
Como implementar uma solução computacional para o problema do caixeiro viajante?
Como implementar uma solução computacional para o problema da mochila?
Como implementar uma solução computacional para o problema do casamento (marriage-matching)?
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Seção 3.4]
Referências Complementares:
In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation -
William J. Cook
Abaixo temos os exemplos apresentados em sala de aula:
Existem bibliotecas prontas em python para gerar permutações e combinações?
Como implementar uma solução computacional para o problema do caixeiro viajante?
Como implementar uma solução computacional para o problema da mochila?
Como implementar uma solução computacional para o problema do casamento (marriage-matching)?
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Seção 3.4]
Referências Complementares:
In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation -
William J. Cook
Wednesday, April 6, 2016
Aula 7 de Métodos Computacionais em Economia - Força Bruta
Na nossa sétima aula de métodos computacionais discutimos vários problemas clássicos usando o método de força bruta (usando a definição do problema). Obviamente, nas próximas aulas iremos aprender estratégias que produzam algoritmos menos custosos. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Algoritmos de ordenação com complexidade quadrática
Cálculo de máximo e mínimo de uma sequência
Busca linear em uma lista
Cálculo de determinantes usando cofatores
Produto de matrizes em Python
Par mais próximo em python
Substring matching
Fecho convexo
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Seções 3.1, 3.2 e 3.3]
Referências Complementares:
Computational Geometry: Algorithms and Applications - Mark de Berg and Otfried Cheong
Abaixo temos os exemplos apresentados em sala de aula:
Algoritmos de ordenação com complexidade quadrática
Cálculo de máximo e mínimo de uma sequência
Busca linear em uma lista
Cálculo de determinantes usando cofatores
Produto de matrizes em Python
Par mais próximo em python
Substring matching
Fecho convexo
Referências Adicionais para essa aula:
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Seções 3.1, 3.2 e 3.3]
Referências Complementares:
Computational Geometry: Algorithms and Applications - Mark de Berg and Otfried Cheong
Monday, April 4, 2016
Aula 6 de Métodos Computacionais em Economia - Filas e Pilhas
Na nossa sexta aula de métodos computacionais discutimos duas coleções importantes de dados: pilhas e filas. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Como implementar uma pilha em python?
Como implementar uma fila em python?
Como python aloca memória dinamicamente para uma lista?
Referências Adicionais para essa aula:
Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein [Seções 10.1, 17.2 and 17.4]
Data Structures and Algorithms in Python - Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser [Seções 5.3, 6.1, 6.2]
Fundamentals of Python: Data Structures - Kenneth Lambert [Capítulos 7 e 8]
Data Structures and Algorithms Using Python - Rance D. Necaise [Capítulos 7 e 8]
Solução da série de exercícios
Você pode dar um exemplo de um algoritmo que verifica se um número é um palíndromo usando pilha?
Como usar uma pilha para gerar todas as permutações de um conjunto?
Algoritmo não recursivo para gerar todos os subconjuntos de um dado conjunto
Abaixo temos os exemplos apresentados em sala de aula:
Como implementar uma pilha em python?
Como implementar uma fila em python?
Como python aloca memória dinamicamente para uma lista?
Referências Adicionais para essa aula:
Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein [Seções 10.1, 17.2 and 17.4]
Data Structures and Algorithms in Python - Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser [Seções 5.3, 6.1, 6.2]
Fundamentals of Python: Data Structures - Kenneth Lambert [Capítulos 7 e 8]
Data Structures and Algorithms Using Python - Rance D. Necaise [Capítulos 7 e 8]
Solução da série de exercícios
Você pode dar um exemplo de um algoritmo que verifica se um número é um palíndromo usando pilha?
Como usar uma pilha para gerar todas as permutações de um conjunto?
Algoritmo não recursivo para gerar todos os subconjuntos de um dado conjunto
Friday, April 1, 2016
Aula 5 de Métodos Computacionais em Economia - Complexidade computacional
Na nossa quinta aula de métodos computacionais discutimos Complexidade Computacional. Esses são os slides usados em sala.
Abaixo temos os exemplos apresentados em sala de aula:
Medição empírica da complexidade computacional
Referências Adicionais para essa aula:
Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein [Capítulo 3]
Introduction to the Design and Analysis of Algorithms - Anany Levitin [Capítulo 2]
Soluções da série de exercícios:
Como calcular a complexidade computacional das implementações recursivas da série de fibonacci?
Qual a complexidade computacional de um algoritmo recursivo que satisfaz a relação de recorrência?
Qual a complexidade computacional dessas relações de recorrência de acordo com o Teorema Mestre (master theorem)?
Subscribe to:
Posts (Atom)