SlideShare uma empresa Scribd logo
Ensinando OO com
 Python, Django
    e PyGame
        Luciano Ramalho
  Academia Python - Globalcode
    python.globalcode.com.br
O problema...
Programar Orientado a Objetos dá mais trabalho
   mais conceitos para aprender, mais código para
   escrever, em mais arquivos
   retrabalho (refatoração)
E as vantagens não ficam evidentes nos programas
pequenos que são usados como exemplos
   reuso de quê?
A solução
Ensinar OO no contexto de uma biblioteca de classes rica
Sempre foi assim em Smalltalk
   linguagem + ambiente
Ensinando OO com Python
Ensinando OO com Python
Mas e no mundo real Python?
Django
   popular e útil, resultados rápidos graças ao admin
Tkinter
   integrado na distribuição
PyGame
   com GameEngine
   de Andy Harris
Exemplo com Django

Sistema de entrega de uma pizzaria por telefone
   Atendente recebe uma ligação, identifica o cliente pelo
   telefone ou cadastra um novo cliente e anota as pizzas
   do pedido
   Quando as pizzas ficam prontas, atendende associa um
   entregador ao pedido
Exemplo com Django
Sistema de entrega de uma pizzaria por telefone
   Atendente recebe uma ligação, identifica o cliente
   pelo telefone ou cadastra um novo cliente e anota as
   pizzas do pedido
   Quando o pedido fica pronto, atendende associa
   um entregador ao pedido
UML como meio, não fim
UML como meio, não fim
UML como meio, não fim
UML como meio, não fim
UML como meio, não fim
OO com jogos
Jogos são um ótimo contexto para exercitar OO
   metáforas claras: objetos = atributos + comportamentos
   resultados estimulantes
2D x 3D
   2D oferece um contexto suficientemente rico
   complexidade do 3D talvez não compense
Bibliotecas em Python
Bibliotecas 2D
   PyGame: multi-plataforma, bem suportada, baixo nível
   Pyglet: alto-nível, ótima, abandonada no momento,
   quebrada no Ubuntu GNU Linux 11.04 e no OS X ⩾ 10.6
Bibliotecas 3D
   sugestões?
Livro: Game Programming
Game Programming: The L Line,
The Express Line to Learning
   Andy Harris, professor na
   Indiana/Purdue University
   ISBN: 978-0-470-06822-9
   570 p. + slides
   publicado em fev/2007
Game Programming: temas
Introdução à programação
Gráficos 2D com PyGame
Animação com PyGame
Audio com PyGame
Programação orientada a eventos com PyGame
Programação orientada a objetos com GameEngine
Porquê?
Desenho instrucional da
Academia Python           !"!#$%&!'()*+,-           COM LUCIANO RAMALHO


na Globalcode
                          A Academia Python dá uma visão acessível e prática da linguagem: principais
                          bibliotecas, desenvolvimento Web com Django, receitas para tarefas comuns,
                                             !
                          programação Orientada a Objetos e multi-paradigma e testes automatizados.
                                           !
                          As academias da Globalcode são formações completas compostas por vários
                                           !
                          módulos com muito mais tempo para os alunos interagirem com os instrutores.

Especificamente:
                                           !
                                           !
                          A Academia Python tem cinco módulos totalizando 112 horas aula. É fruto da
                                           !
                          união entre a qualidade e metodologia da Globalcode e a experiência e


Módulo PY2 -
                          conhecimento do Luciano Ramalho.
                                                Módulos da Academia Python:
                                                    PY1 - Introdução à linguagem Python


Orientação a Objetos e                              PY2 - Orientação a Objetos e frameworks
                                                    PY3 - Desenvolvimento Web com Django e JQuery



Frameworks
                                                    PY4 - Django pro ssional
                                                    PY5 - Cloud, NoSQL e novas arquiteturas

                          @luciano              !"#$%&'()%*+),%-.',%/'*0
                                       Mais informações:
                                       !"#$%&'()%*+),%-./,%0/*12           2!""#$%"&'())%*

Mais conteúdo relacionado

PPTX
Aplicações do Python na escola e no mercado de trabalho
Rodrigo Guimarães Rodrigues de Almeida
 
PDF
PUG-SE Institucional
Rodrigo Amaral
 
PDF
Canivete python
Anderson Dantas
 
PDF
Coding Dojo #GuruPI
Mateus Pontes
 
PPTX
Palestra Apresentando Python e Suas Aplicações
Marcos Thomaz
 
KEY
Python, a arma secreta do Google
Luciano Ramalho
 
PDF
Python para iniciantes
richardsonlima
 
PPTX
Introdução a linguagem Python
Cleyson de Sousa Lima
 
Aplicações do Python na escola e no mercado de trabalho
Rodrigo Guimarães Rodrigues de Almeida
 
PUG-SE Institucional
Rodrigo Amaral
 
Canivete python
Anderson Dantas
 
Coding Dojo #GuruPI
Mateus Pontes
 
Palestra Apresentando Python e Suas Aplicações
Marcos Thomaz
 
Python, a arma secreta do Google
Luciano Ramalho
 
Python para iniciantes
richardsonlima
 
Introdução a linguagem Python
Cleyson de Sousa Lima
 

Mais procurados (19)

PDF
Conhencendo Python e por que ela importa?
Marcel Caraciolo
 
ODP
Matando o Java e Mostrando o Python
Osvaldo Santana Neto
 
PPT
Por Que Python - #PUGCE
Tiago Freire
 
PDF
Hello, Python!
Eduardo Araujo
 
PDF
Desenvolvimento web com python e django
Igor Sobreira
 
PDF
Como Python está mudando a forma de aprendizagem à distância no Brasil
Marcel Caraciolo
 
PDF
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Jerônimo Medina Madruga
 
PDF
Coding dojo
COTIC-PROEG (UFPA)
 
ODP
Linguagem Python
Alexandre Machado
 
ODP
Empreendendo com Python
Joao Luis Tavares
 
PDF
O poder do Python/Django
Átila Bezerra
 
PDF
Por que você deveria aprender python?
Felipe Volpone
 
PPT
Introdução ao Deep Learning com o TensorFlow
Mauro Pichiliani
 
PDF
Porque python é legal! d
Joelmir Ribacki
 
PPTX
Seminário - Guido van Rossum: Breve história da linguagem Python
Giancarlo Silva
 
PPT
Rastreamento 3D de objetos para realidade virtual
pichiliani
 
PDF
Canivete suíço do Python
Douglas Soares de Andrade
 
PDF
Introdução à Programação em Python
Rodrigo Hübner
 
PDF
Python Módulo Básico - Introdução a linguagem Python
antonio sérgio nogueira
 
Conhencendo Python e por que ela importa?
Marcel Caraciolo
 
Matando o Java e Mostrando o Python
Osvaldo Santana Neto
 
Por Que Python - #PUGCE
Tiago Freire
 
Hello, Python!
Eduardo Araujo
 
Desenvolvimento web com python e django
Igor Sobreira
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Marcel Caraciolo
 
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Jerônimo Medina Madruga
 
Coding dojo
COTIC-PROEG (UFPA)
 
Linguagem Python
Alexandre Machado
 
Empreendendo com Python
Joao Luis Tavares
 
O poder do Python/Django
Átila Bezerra
 
Por que você deveria aprender python?
Felipe Volpone
 
Introdução ao Deep Learning com o TensorFlow
Mauro Pichiliani
 
Porque python é legal! d
Joelmir Ribacki
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Giancarlo Silva
 
Rastreamento 3D de objetos para realidade virtual
pichiliani
 
Canivete suíço do Python
Douglas Soares de Andrade
 
Introdução à Programação em Python
Rodrigo Hübner
 
Python Módulo Básico - Introdução a linguagem Python
antonio sérgio nogueira
 
Anúncio

Destaque (20)

PPTX
Criando jogos com python e pygame 1 aula
Diego Lopes
 
PDF
Aprendendo python 2a edição
CAVN/UFPB III
 
ODP
Python no ensino de programação
Givanaldo Rocha
 
PDF
Minicurso pygame
Demontiê Junior
 
ODP
Python para desenvolvedores - material apoio (parte I)
Marcelo Barros de Almeida
 
PDF
Orientação a Objetos em Python
Luciano Ramalho
 
PPTX
Python para Desenvolvedores
Wellington Oliveira
 
ODP
Linux4all#1
Daniel
 
PDF
Comandos linux
Erivan Cledson
 
PPT
Criando jogos com python e pygame 3 aula
Diego Lopes
 
PPTX
Criando jogos com python e pygame 4 aula
Diego Lopes
 
PDF
Apresentação pygame
Danilo Costa
 
PDF
Introdução à linguagem Python
Alex Tercete
 
PPTX
Criando jogos com python e pygame 2 aula
Diego Lopes
 
PDF
5 coisas que você precisa saber antes de começar a fazer seus jogos
Diego Dukão
 
PPT
Comandos Linux Parte 2
Wellington Oliveira
 
PDF
Python - Programando em alto nível
Igor Sobreira
 
PDF
Introdução a Linguagem de Programação Python
Flávio Ribeiro
 
PDF
Jogos em Python utilizando PyGame
Mayron Cachina
 
PPT
Comandos Linux Parte 1
Wellington Oliveira
 
Criando jogos com python e pygame 1 aula
Diego Lopes
 
Aprendendo python 2a edição
CAVN/UFPB III
 
Python no ensino de programação
Givanaldo Rocha
 
Minicurso pygame
Demontiê Junior
 
Python para desenvolvedores - material apoio (parte I)
Marcelo Barros de Almeida
 
Orientação a Objetos em Python
Luciano Ramalho
 
Python para Desenvolvedores
Wellington Oliveira
 
Linux4all#1
Daniel
 
Comandos linux
Erivan Cledson
 
Criando jogos com python e pygame 3 aula
Diego Lopes
 
Criando jogos com python e pygame 4 aula
Diego Lopes
 
Apresentação pygame
Danilo Costa
 
Introdução à linguagem Python
Alex Tercete
 
Criando jogos com python e pygame 2 aula
Diego Lopes
 
5 coisas que você precisa saber antes de começar a fazer seus jogos
Diego Dukão
 
Comandos Linux Parte 2
Wellington Oliveira
 
Python - Programando em alto nível
Igor Sobreira
 
Introdução a Linguagem de Programação Python
Flávio Ribeiro
 
Jogos em Python utilizando PyGame
Mayron Cachina
 
Comandos Linux Parte 1
Wellington Oliveira
 
Anúncio

Semelhante a Ensinando OO com Python (20)

PDF
Python para devs
Evaldo Junior
 
ZIP
Python e Django na Globo.com
ricobl
 
PDF
Trilha python
Luciano Ramalho
 
PDF
Python Mini Ccurso Consegi2011
Luiz Aldabalde
 
PDF
Pe algoritmos manhã sem1 2012
FATEC São José dos Campos
 
ODP
The zen of python 2010
Luiz Aldabalde
 
PDF
Slide
Grupython Ufla
 
PDF
Qual linguagem escolher?
COTIC-PROEG (UFPA)
 
PDF
Mostrando a Cobra - Breve Introdução à Linguagem Python
Fabio Spanhol
 
PDF
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
Fabio Spanhol
 
PDF
Plano de Ensino Algoritmos com Python
FATEC São José dos Campos
 
PDF
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Jonathan Prates
 
PDF
Introdução à Programação Python e Tk
Carlos Campani
 
PPT
Introdução à linguagem python
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
PDF
Python na Ciência da Computação - FLISOL 2011
Marco Mendes
 
KEY
Introdução ao Python & Web Services
Dorneles Treméa
 
PDF
Python - Introdução
fabiocerqueira
 
PDF
python-agil-IVEnGitec
Ramiro Luz
 
PDF
Como tornar-se um programador Python melhor
Douglas Soares de Andrade
 
Python para devs
Evaldo Junior
 
Python e Django na Globo.com
ricobl
 
Trilha python
Luciano Ramalho
 
Python Mini Ccurso Consegi2011
Luiz Aldabalde
 
Pe algoritmos manhã sem1 2012
FATEC São José dos Campos
 
The zen of python 2010
Luiz Aldabalde
 
Qual linguagem escolher?
COTIC-PROEG (UFPA)
 
Mostrando a Cobra - Breve Introdução à Linguagem Python
Fabio Spanhol
 
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
Fabio Spanhol
 
Plano de Ensino Algoritmos com Python
FATEC São José dos Campos
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Jonathan Prates
 
Introdução à Programação Python e Tk
Carlos Campani
 
Introdução à linguagem python
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Python na Ciência da Computação - FLISOL 2011
Marco Mendes
 
Introdução ao Python & Web Services
Dorneles Treméa
 
Python - Introdução
fabiocerqueira
 
python-agil-IVEnGitec
Ramiro Luz
 
Como tornar-se um programador Python melhor
Douglas Soares de Andrade
 

Mais de Luciano Ramalho (20)

PDF
Wiki-wiki S/A
Luciano Ramalho
 
PDF
Mongodb: agregação
Luciano Ramalho
 
PDF
Introdução a linguagem Python
Luciano Ramalho
 
PDF
Iteráveis e geradores (versão RuPy)
Luciano Ramalho
 
PDF
Orientação a objetos em Python (compacto)
Luciano Ramalho
 
PDF
Encapsulamento com descritores
Luciano Ramalho
 
PDF
Iteraveis e geradores
Luciano Ramalho
 
PDF
Arduino: hardware hacking & coding dojo
Luciano Ramalho
 
PDF
Objetos Pythonicos - compacto
Luciano Ramalho
 
PDF
Iteraveis e geradores em Python
Luciano Ramalho
 
PDF
Encapsulamento com Descritores em Python
Luciano Ramalho
 
PDF
Dojo com Processing
Luciano Ramalho
 
PDF
Dojo com Arduino
Luciano Ramalho
 
PDF
Python: Iteraveis, geradores etc
Luciano Ramalho
 
PDF
Open Library no Mongodb
Luciano Ramalho
 
PDF
Jython no JavaOne Latin America 2011
Luciano Ramalho
 
PDF
Python para quem sabe Python (aula 2)
Luciano Ramalho
 
PDF
OO em Python sem sotaque
Luciano Ramalho
 
KEY
Modelos ricos
Luciano Ramalho
 
KEY
Alex Martelli's Python Design Patterns
Luciano Ramalho
 
Wiki-wiki S/A
Luciano Ramalho
 
Mongodb: agregação
Luciano Ramalho
 
Introdução a linguagem Python
Luciano Ramalho
 
Iteráveis e geradores (versão RuPy)
Luciano Ramalho
 
Orientação a objetos em Python (compacto)
Luciano Ramalho
 
Encapsulamento com descritores
Luciano Ramalho
 
Iteraveis e geradores
Luciano Ramalho
 
Arduino: hardware hacking & coding dojo
Luciano Ramalho
 
Objetos Pythonicos - compacto
Luciano Ramalho
 
Iteraveis e geradores em Python
Luciano Ramalho
 
Encapsulamento com Descritores em Python
Luciano Ramalho
 
Dojo com Processing
Luciano Ramalho
 
Dojo com Arduino
Luciano Ramalho
 
Python: Iteraveis, geradores etc
Luciano Ramalho
 
Open Library no Mongodb
Luciano Ramalho
 
Jython no JavaOne Latin America 2011
Luciano Ramalho
 
Python para quem sabe Python (aula 2)
Luciano Ramalho
 
OO em Python sem sotaque
Luciano Ramalho
 
Modelos ricos
Luciano Ramalho
 
Alex Martelli's Python Design Patterns
Luciano Ramalho
 

Último (16)

PPTX
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
Anderson Maciel
 
PPTX
Curso de Java 5 - (Strings) Tipo de Dados.pptx
Anderson Maciel
 
PPTX
21 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
PPTX
Curso de Java 6 - (Números, Data e Hora).pptx
Anderson Maciel
 
PPTX
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
Anderson Maciel
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PPTX
Curso de Java 1 - (Introdução Geral).pptx
Anderson Maciel
 
PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
PPTX
22 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
PPTX
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
PPTX
Curso de Java 3 - (Estruturas de Controle, Decisão, Loop, Procedimento).pptx
Anderson Maciel
 
PPTX
Curso de Java 4 - (Orientação a Objetos).pptx
Anderson Maciel
 
PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
PPTX
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
Anderson Maciel
 
Curso de Java 5 - (Strings) Tipo de Dados.pptx
Anderson Maciel
 
21 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
Curso de Java 6 - (Números, Data e Hora).pptx
Anderson Maciel
 
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
Anderson Maciel
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Curso de Java 1 - (Introdução Geral).pptx
Anderson Maciel
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
22 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
Curso de Java 3 - (Estruturas de Controle, Decisão, Loop, Procedimento).pptx
Anderson Maciel
 
Curso de Java 4 - (Orientação a Objetos).pptx
Anderson Maciel
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 

Ensinando OO com Python

  • 1. Ensinando OO com Python, Django e PyGame Luciano Ramalho Academia Python - Globalcode python.globalcode.com.br
  • 2. O problema... Programar Orientado a Objetos dá mais trabalho mais conceitos para aprender, mais código para escrever, em mais arquivos retrabalho (refatoração) E as vantagens não ficam evidentes nos programas pequenos que são usados como exemplos reuso de quê?
  • 3. A solução Ensinar OO no contexto de uma biblioteca de classes rica Sempre foi assim em Smalltalk linguagem + ambiente
  • 6. Mas e no mundo real Python? Django popular e útil, resultados rápidos graças ao admin Tkinter integrado na distribuição PyGame com GameEngine de Andy Harris
  • 7. Exemplo com Django Sistema de entrega de uma pizzaria por telefone Atendente recebe uma ligação, identifica o cliente pelo telefone ou cadastra um novo cliente e anota as pizzas do pedido Quando as pizzas ficam prontas, atendende associa um entregador ao pedido
  • 8. Exemplo com Django Sistema de entrega de uma pizzaria por telefone Atendente recebe uma ligação, identifica o cliente pelo telefone ou cadastra um novo cliente e anota as pizzas do pedido Quando o pedido fica pronto, atendende associa um entregador ao pedido
  • 9. UML como meio, não fim
  • 10. UML como meio, não fim
  • 11. UML como meio, não fim
  • 12. UML como meio, não fim
  • 13. UML como meio, não fim
  • 14. OO com jogos Jogos são um ótimo contexto para exercitar OO metáforas claras: objetos = atributos + comportamentos resultados estimulantes 2D x 3D 2D oferece um contexto suficientemente rico complexidade do 3D talvez não compense
  • 15. Bibliotecas em Python Bibliotecas 2D PyGame: multi-plataforma, bem suportada, baixo nível Pyglet: alto-nível, ótima, abandonada no momento, quebrada no Ubuntu GNU Linux 11.04 e no OS X ⩾ 10.6 Bibliotecas 3D sugestões?
  • 16. Livro: Game Programming Game Programming: The L Line, The Express Line to Learning Andy Harris, professor na Indiana/Purdue University ISBN: 978-0-470-06822-9 570 p. + slides publicado em fev/2007
  • 17. Game Programming: temas Introdução à programação Gráficos 2D com PyGame Animação com PyGame Audio com PyGame Programação orientada a eventos com PyGame Programação orientada a objetos com GameEngine
  • 18. Porquê? Desenho instrucional da Academia Python !"!#$%&!'()*+,- COM LUCIANO RAMALHO na Globalcode A Academia Python dá uma visão acessível e prática da linguagem: principais bibliotecas, desenvolvimento Web com Django, receitas para tarefas comuns, ! programação Orientada a Objetos e multi-paradigma e testes automatizados. ! As academias da Globalcode são formações completas compostas por vários ! módulos com muito mais tempo para os alunos interagirem com os instrutores. Especificamente: ! ! A Academia Python tem cinco módulos totalizando 112 horas aula. É fruto da ! união entre a qualidade e metodologia da Globalcode e a experiência e Módulo PY2 - conhecimento do Luciano Ramalho. Módulos da Academia Python: PY1 - Introdução à linguagem Python Orientação a Objetos e PY2 - Orientação a Objetos e frameworks PY3 - Desenvolvimento Web com Django e JQuery Frameworks PY4 - Django pro ssional PY5 - Cloud, NoSQL e novas arquiteturas @luciano !"#$%&'()%*+),%-.',%/'*0 Mais informações: !"#$%&'()%*+),%-./,%0/*12 2!""#$%"&'())%*

Notas do Editor