SlideShare uma empresa Scribd logo
1 de 18
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
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

Mais procurados

Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Marcel Caraciolo
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonOsvaldo Santana Neto
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCETiago Freire
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilMarcel Caraciolo
 
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...Jerônimo Medina Madruga
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
Por que você deveria aprender python?
Por que você deveria aprender python?Por que você deveria aprender python?
Por que você deveria aprender python?Felipe Volpone
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowMauro Pichiliani
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! dJoelmir Ribacki
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
 
Rastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualRastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualpichiliani
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Pythonantonio sérgio nogueira
 

Mais procurados (19)

Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCE
 
Hello, Python!
Hello, Python!Hello, Python!
Hello, Python!
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no Brasil
 
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Empreendendo com Python
Empreendendo com PythonEmpreendendo com Python
Empreendendo com Python
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
Por que você deveria aprender python?
Por que você deveria aprender python?Por que você deveria aprender python?
Por que você deveria aprender python?
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! d
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem Python
 
Rastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualRastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtual
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Python
 

Destaque

Criando jogos com python e pygame 1 aula
Criando jogos com python e pygame 1 aulaCriando jogos com python e pygame 1 aula
Criando jogos com python e pygame 1 aulaDiego Lopes
 
Aprendendo python 2a edição
Aprendendo python   2a ediçãoAprendendo python   2a edição
Aprendendo python 2a ediçãoCAVN/UFPB III
 
Python no ensino de programação
Python no ensino de programaçãoPython no ensino de programação
Python no ensino de programaçãoGivanaldo Rocha
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Marcelo Barros de Almeida
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Linux4all#1
Linux4all#1Linux4all#1
Linux4all#1Daniel
 
Criando jogos com python e pygame 3 aula
Criando jogos com python e pygame 3 aulaCriando jogos com python e pygame 3 aula
Criando jogos com python e pygame 3 aulaDiego Lopes
 
Criando jogos com python e pygame 4 aula
Criando jogos com python e pygame 4 aulaCriando jogos com python e pygame 4 aula
Criando jogos com python e pygame 4 aulaDiego Lopes
 
Apresentação pygame
Apresentação pygameApresentação pygame
Apresentação pygameDanilo Costa
 
Introdução à linguagem Python
Introdução à linguagem PythonIntrodução à linguagem Python
Introdução à linguagem PythonAlex Tercete
 
Criando jogos com python e pygame 2 aula
Criando jogos com python e pygame 2 aulaCriando jogos com python e pygame 2 aula
Criando jogos com python e pygame 2 aulaDiego Lopes
 
5 coisas que você precisa saber antes de começar a fazer seus jogos
5 coisas que você precisa saber antes de começar a fazer seus jogos5 coisas que você precisa saber antes de começar a fazer seus jogos
5 coisas que você precisa saber antes de começar a fazer seus jogosDiego Dukão
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonFlávio Ribeiro
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGameMayron Cachina
 

Destaque (20)

Criando jogos com python e pygame 1 aula
Criando jogos com python e pygame 1 aulaCriando jogos com python e pygame 1 aula
Criando jogos com python e pygame 1 aula
 
Aprendendo python 2a edição
Aprendendo python   2a ediçãoAprendendo python   2a edição
Aprendendo python 2a edição
 
Python no ensino de programação
Python no ensino de programaçãoPython no ensino de programação
Python no ensino de programação
 
Minicurso pygame
Minicurso pygameMinicurso pygame
Minicurso pygame
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Python para Desenvolvedores
Python para DesenvolvedoresPython para Desenvolvedores
Python para Desenvolvedores
 
Linux4all#1
Linux4all#1Linux4all#1
Linux4all#1
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Criando jogos com python e pygame 3 aula
Criando jogos com python e pygame 3 aulaCriando jogos com python e pygame 3 aula
Criando jogos com python e pygame 3 aula
 
Criando jogos com python e pygame 4 aula
Criando jogos com python e pygame 4 aulaCriando jogos com python e pygame 4 aula
Criando jogos com python e pygame 4 aula
 
Apresentação pygame
Apresentação pygameApresentação pygame
Apresentação pygame
 
Introdução à linguagem Python
Introdução à linguagem PythonIntrodução à linguagem Python
Introdução à linguagem Python
 
Criando jogos com python e pygame 2 aula
Criando jogos com python e pygame 2 aulaCriando jogos com python e pygame 2 aula
Criando jogos com python e pygame 2 aula
 
5 coisas que você precisa saber antes de começar a fazer seus jogos
5 coisas que você precisa saber antes de começar a fazer seus jogos5 coisas que você precisa saber antes de começar a fazer seus jogos
5 coisas que você precisa saber antes de começar a fazer seus jogos
 
Comandos Linux Parte 2
Comandos Linux Parte 2Comandos Linux Parte 2
Comandos Linux Parte 2
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação Python
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGame
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 

Semelhante a Ensinando OO com Python

Desenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoDesenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoRafael Nunes
 
Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4Tania Andrea
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfAthena542429
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?Izabela Guerreiro
 
Automação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonAutomação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonFabio Spanhol
 
G.O. - Grafos Online
G.O. - Grafos OnlineG.O. - Grafos Online
G.O. - Grafos Onlinedudleyy
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPaulino Michelazzo
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Rudá Moura
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO IOs Fantasmas !
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010Luiz Aldabalde
 
Solisc 2009 - Ensinando pela Web com Software Livre
Solisc 2009 - Ensinando pela Web com Software LivreSolisc 2009 - Ensinando pela Web com Software Livre
Solisc 2009 - Ensinando pela Web com Software LivreAmbev
 
Por que escolher Python?
Por que escolher Python?Por que escolher Python?
Por que escolher Python?Igor Leroy
 

Semelhante a Ensinando OO com Python (20)

Com vocês, Django!
Com vocês, Django!Com vocês, Django!
Com vocês, Django!
 
Desenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoDesenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJango
 
Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 
Python Zope Plone - Ftec
Python Zope Plone - FtecPython Zope Plone - Ftec
Python Zope Plone - Ftec
 
Pe algoritmos manhã sem1 2012
Pe algoritmos manhã sem1 2012Pe algoritmos manhã sem1 2012
Pe algoritmos manhã sem1 2012
 
Automação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonAutomação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com Python
 
Hackeando o Facebook com Python
Hackeando o Facebook com PythonHackeando o Facebook com Python
Hackeando o Facebook com Python
 
FJN 2011
FJN 2011FJN 2011
FJN 2011
 
Trilha python
Trilha pythonTrilha python
Trilha python
 
G.O. - Grafos Online
G.O. - Grafos OnlineG.O. - Grafos Online
G.O. - Grafos Online
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Solisc 2009 - Ensinando pela Web com Software Livre
Solisc 2009 - Ensinando pela Web com Software LivreSolisc 2009 - Ensinando pela Web com Software Livre
Solisc 2009 - Ensinando pela Web com Software Livre
 
Python-Fenalivre-Imed
Python-Fenalivre-ImedPython-Fenalivre-Imed
Python-Fenalivre-Imed
 
Por que escolher Python?
Por que escolher Python?Por que escolher Python?
Por que escolher Python?
 
Python b1tch
Python b1tchPython b1tch
Python b1tch
 

Mais de Luciano Ramalho

Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Luciano Ramalho
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Luciano Ramalho
 
Encapsulamento com descritores
Encapsulamento com descritoresEncapsulamento com descritores
Encapsulamento com descritoresLuciano Ramalho
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoLuciano Ramalho
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compactoLuciano Ramalho
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em PythonLuciano Ramalho
 
Encapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonEncapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonLuciano Ramalho
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etcLuciano Ramalho
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Luciano Ramalho
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Luciano Ramalho
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaqueLuciano Ramalho
 
Alex Martelli's Python Design Patterns
Alex Martelli's Python Design PatternsAlex Martelli's Python Design Patterns
Alex Martelli's Python Design PatternsLuciano Ramalho
 

Mais de Luciano Ramalho (20)

Wiki-wiki S/A
Wiki-wiki S/AWiki-wiki S/A
Wiki-wiki S/A
 
Mongodb: agregação
Mongodb: agregaçãoMongodb: agregação
Mongodb: agregação
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Encapsulamento com descritores
Encapsulamento com descritoresEncapsulamento com descritores
Encapsulamento com descritores
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
 
Encapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonEncapsulamento com Descritores em Python
Encapsulamento com Descritores em Python
 
Dojo com Processing
Dojo com ProcessingDojo com Processing
Dojo com Processing
 
Dojo com Arduino
Dojo com ArduinoDojo com Arduino
Dojo com Arduino
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
 
Open Library no Mongodb
Open Library no MongodbOpen Library no Mongodb
Open Library no Mongodb
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaque
 
Modelos ricos
Modelos ricosModelos ricos
Modelos ricos
 
Alex Martelli's Python Design Patterns
Alex Martelli's Python Design PatternsAlex Martelli's Python Design Patterns
Alex Martelli's Python Design Patterns
 

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
  • 4.
  • 5.
  • 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

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n