SlideShare uma empresa Scribd logo
Uso de Python em cursos de Ciˆncia da
                                          e
                         Computa¸˜o
                                 ca
                       Estruturas, bibliotecas e ferramentas


         Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
                   e



                                    9 de abril de 2011




Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
          e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                               e               ca
Apresenta¸˜o
         ca
Quem ´ esse cara?
     e




      1   Mestre em Ciˆncia da Computa¸˜o pela UFSC
                      e               ca
      2   Professor desde 1995

      1   Usu´rio Unix desde 1992 e Linux desde 1999
             a
      2   Entusiasta de software de c´digo aberto
                                     o

      1   Membro da comunidade Python desde 2004
      2   Membro-fundador da Associa¸˜o Python Brasil (APyB)
                                    ca
      3   Membro da diretoria da APyB




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Uma breve introdu¸˜o
                 ca
Sobre a linguagem




 1    Criada por Guido van Rossum em 1991
 2    Origem do nome: grupo de humoristas
      Monty Python
 3    Linguagem de alt´
                      ıssimo n´ (VHLL)
                              ıvel
 4    Sintaxe de f´cil leitura
                  a
 5    Orientada ` objetos, estruturada e funcional
                a
 6    Tipagem forte e dinˆmica
                         a
 7    Multiplataforma
 8    Interpretada
 9    Ambiente interativo
10    Licen¸a compat´ com a GPL
           c        ıvel


     Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
               e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                    e               ca
Estruturas de dados nativas




     1   Strings
     2   Listas
     3   Tuplas
     4   Dicion´rios
               a
     5   Sets
     6   Frozensets




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                e               ca
NumPy
Matem´tica
     a




      1   Poderoso array N-dimensional de objetos
      2   integra¸˜o com c´digo C/C++ e Fortran
                 ca       o
      3   fun¸˜es de ´lgebra linear, transformada de Fourier e n´meros
             co      a                                          u
          aleat´rios
               o

  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
SciPy
Matem´tica
     a




      1   Utiliza como base o NumPy para lidar eficientemente com
          grandes quantidades de n´meros
                                  u
      2   Implementa: Estat´  ısticas, otimiza¸˜o, integra¸˜o num´rica,
                                              ca          ca       e
          processamento de sinais e imagens, solu¸˜o de equa¸˜es
                                                     ca          co
          diferenciais, fun¸˜es especiais (Bessel, etc.), polinˆmios, etc.
                           co                                  o
  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Sage
Matem´tica
     a




      1   Aplicativo de matem´tica GPL
                             a
      2   Combina o poder de muitos pacotes de c´digo aberto
                                                o
          existentes em uma interface Python comum
      3   Miss˜o: Criar uma alternativa livre e de c´digo aberto para
              a                                     o
          Magma, Maple, Mathematica e Matlab.

  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
PyODE
Computa¸˜o Gr´fica
       ca    a




      1   PyODE ´ um binding de ODE para Python
                e
      2   ODE: simula¸˜o de dinˆmica de objetos r´
                     ca        a                 ıgidos
      3   Jun¸˜es e detec¸˜o de colis˜o com fric¸˜o
             co          ca          a          ca
      4   Simula¸˜o de ve´
                 ca      ıculos, objetos e criaturas em ambientes
          virtuais
      5   Jogos de computador, ferramentas de autoria 3D e de
          simula¸˜o
                ca
  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
PyOpenGL
Computa¸˜o Gr´fica
       ca    a




      1   PyOpenGL: binding de OpenGL para Python
      2   OpenGL: API livre utilizada na computa¸˜o gr´fica
                                                ca    a
      3   Desenvolvimento de aplicativos gr´ficos, ambientes 3D, jogos,
                                           a
          entre outros
  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
PIL - Python Image Library
Processamento de Imagens




      1   suporte ` abertura e grava¸˜o de muitos formatos de imagem
                   a                ca
          diferentes
      2   formatos suportados: PNG, TIFF, BMP, EPS e GIF


  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
PyGlet
Computa¸˜o Gr´fica, anima¸˜o e jogos
       ca    a          ca




      1   Desenvolvimento de jogos e aplica¸˜es visualmente ricas
                                           co
      2   Suporte para eventos de mouse e teclado
      3   Pode carregar diversos formatos de arquivos de multim´
                                                               ıdia

  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Cocos 2D
Anima¸˜o e jogos
     ca




      1   Framework para a constru¸˜o de jogos, demos e outras
                                    ca
          aplica¸˜es gr´ficas e interativas em 2D
                co     a
      2   Utiliza PyGlet e OpenGL


  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
PyGame
Anima¸˜o e jogos
     ca




      1   M´dulo multi-plataforma projetado para escrever jogos.
           o
      2   Inclui bibliotecas de computa¸˜o gr´fica de som.
                                       ca    a
      3   ´ constru´ sobre a biblioteca SDL (Simple DirectMedia
          E          ıda
          Layer)

  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Panda 3D
Anima¸˜o e jogos
     ca




      1   Motor de jogo 3D escrito em C++ para ser usado com Python
      2   Desenvolvido pela Disney e Carnegie Mellon University’s
          Entertainment Technology Center
      3   Possui motor de f´
                           ısica, texturas animadas, suporte a shaders e
          som 2D e 3D
  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
AIMA
Inteligˆncia Artificial
       e




      1   C´digo em Python dos algoritmos do livro Artificial
            o
          Intelligence: a Modern Approach, de Peter Norvig
      2   O livro-texto apresenta os algoritmos em pseudo-c´digo
                                                           o
      3   Existem os c´digos em Lisp tamb´m, para compara¸˜o
                      o                  e               ca

  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Peach
Inteligˆncia Artificial
       e




      1   M´dulo escrito puramente em Python, baseado nas bibliotecas
            o
          cient´
               ıficas SciPy e NumPy
      2   Implementa¸˜o de algoritmos de inteligˆncia computacional e
                     ca                         e
          aprendizado de m´quina
                          a
      3   Redes neurais artificiais, l´gica fuzzy, algoritmos gen´ticos,
                                     o                          e
          inteligˆncia de enxames e muito mais
                 e
      4   Objetivo primariamente educacional
      5   Cuidado com a eficiˆncia na implementa¸˜o
                            e                  ca




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Compiladores




     1   PLY: Python Lex-Yacc
     2   PyParsing
     3   Parsing: Python parser generator module
     4   ANTLR: ANother Tool for Language Recognition




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                e               ca
PyDot e Graphviz
Grafos




         1   pydot ´ uma interface da linguagem de pontos Graphviz’s
                   e
             para Python
         2   Permite a cria¸˜o f´cil de grafos dirigidos e n˜o dirigidos
                           ca a                             a
         3   Grafos abstratos e redes podem ser criados automaticamente
         4   Desenvolvido pelos laborat´rios de pesquisa da AT&T
                                       o
  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
NetworkX
Grafos




         1   Cria¸˜o, manipula¸˜o e estudo da estrutura, dinˆmica e
                 ca            ca                           a
             fun¸˜es das redes complexas
                co
         2   Adequado para opera¸˜o em grandes gr´ficos reais (p.e. mais
                                 ca                a
             de 10 milh˜es de n´s e 100 milh˜es de bordas)
                       o       o            o
         3   Utiliza dicion´rios de dicion´rios de Python como estrutura
                           a              a
         4   Pode ser usado para an´lises de redes e de redes sociais
                                   a
  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
PyMetric
Grafos


                                      1   Simula¸˜o interativa de rede e ferramenta de
                                                  ca
                                          visualiza¸˜o
                                                   ca
                                      2   Tra¸a caminhos dado um conjunto de n´s e
                                             c                                o
                                          enlaces com m´tricas
                                                       e
                                      3   Simula¸˜o de mudan¸as do sistema m´trico,
                                                 ca            c                e
                                          falhas de roteador e interrup¸˜es de enlaces,
                                                                       co
                                          mudan¸as na topologia e roteamento
                                                 c
                                      4   Considera cargas em enlaces e mudan¸as
                                                                             c
                                          que afetam a distribui¸˜o de carga
                                                                ca
                                      5   Estat´
                                               ısticas sobre a topologia: caminhos de
                                          custo-igual, liga¸˜es com custos
                                                           co
                                          assim´tricos, caminho mais longo
                                               e
                                      6   Sugere mudan¸as m´tricas em engenharia de
                                                      c    e
                                          tr´fego
                                            a
  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
PL/Python
Banco de Dados e SQL




      1   ”O banco de dados livre mais avan¸ado do mundo”
                                           c
      2   Stored procedures (em PL/PgSQL), triggers, domains
      3   Programa¸˜o de procedures: uso de outras linguagens de
                  ca
          programa¸˜o
                  ca
      4   Atualmente suportadas: python, ruby, tcl, perl, Java, PHP e C
      5   Python: simples, poderosa e com muitas bibliotecas
          dispon´
                ıveis




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
ZODB - Zope Object Data Base
Banco de Dados Orientado a Objetos




      1   Banco de dados transacional orientado a objetos livre utilizado
          pelo servidor de aplica¸˜o Zope para armazenamento
                                 ca
          transparente de objetos Python
      2   Pode ser usado independentemente
      3   Caracter´
                  ısticas: transa¸˜es, hist´rico/cancelamento,
                                 co        o
          armazenamento transparente conect´vel, cache embutido,
                                                a
          controle de concorrˆncia multivers˜o (MVCC) e escalabilidade
                              e               a
          atrav´s da rede (usando ZEO)
               e
      4   Reposit´rio de dados Python maduro que possui centenas de
                 o
          milhares de sistemas rodando sobre ele atualmente


  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Twisted
Protocolos de redes




      1   Framework de rede de c´digo aberto escrito inteiramente em
                                o
          Python
      2   Permite a cria¸˜o de proxies SMTP, HTTP e servidores SSH
                        ca
          (e mais) em Python com o m´   ınimo esfor¸o
                                                   c
      3   ´ ass´
          E    ıncrono e dirigido a eventos
      4   N˜o exige o uso de modelos tradicionais de threading
           a



  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Socket e Asyncore
Protocolos de redes




   Socket
     1 Interface de rede de baixo n´
                                   ıvel
      2   Fornece interface semelhante ` BSD
                                       a

   Asyncore
      1   Infra-estrutura b´sica para escrever servi¸os de socket
                           a                        c
          ass´
             ıncrono para clientes e servidores
      2   Meio termo entre socket e Twisted




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
PyRO - Python Remote Objects
Sistemas Distribu´
                 ıdos




      1   Comunica¸˜o de objetos em rede de forma simples
                  ca
      2   Acesso a objetos em diferentes m´quinas na rede como se
                                          a
          fossem locais
      3   Lembra Java Remote Method Invocation (RMI).




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Multithreading
Processamento distribu´
                      ıdo, paralelo e multiprocessamento




      1   threading: primitivas de baixo n´ para trabalhar com
                                          ıvel
          m´ltiplos threads
            u
      2   Qeue: filas LIFO, FIFO e de prioridade com multi-produtores e
          consumidores
      3   multiprocessing: oferece concorrˆncia local e remoto, usando
                                          e
          subprocessos em vez de threads




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Python Cryptography Toolkit
Criptografia




      1   Algoritmos de criptografia: RC4, Blowfish, DES, Diamond,
          IDEA, LOKI91, RC5, REDOC III, Sapphire.
      2   Algoritmos de hash: MD2, MD4, MD5, Secure Hash
          Algorithm
      3   Algoritmos de chave p´blica: ElGamal, RSA
                               u




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Lista de discuss˜o
                a




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                e               ca
Python Brasil[7]
Encontro brasileiro da comunidade Python




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Comunidade Python Brasil
Acesse e assine nossa lista




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                                 e               ca
Dorneles Trem´a: 1979 - 2011
                                        e



Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
          e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                               e               ca
1   Estes slides: slideshare.com/marrcandre
    2   google*: marcoandre@gmail.com
    3   twitter: @marrcandre
    4   blog: marrcandre.blogspot.com

              random.choice([’pergunta’, ’d´vida’, ’discuss˜o’])
                                           u               a




Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
          e                                       Uso de Python em cursos de Ciˆncia da Computa¸˜o
                                                                               e               ca

Mais conteúdo relacionado

Destaque

Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2
Marco Mendes
 
Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011
Marco Mendes
 
Porque Python - PythonBrasil[6]
Porque Python - PythonBrasil[6]Porque Python - PythonBrasil[6]
Porque Python - PythonBrasil[6]
Marco Mendes
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
Marco Mendes
 
Por que Python - Latinoware 2008
Por que Python - Latinoware 2008Por que Python - Latinoware 2008
Por que Python - Latinoware 2008
Marco Mendes
 
Porque Python - FISL 9.0
Porque Python - FISL 9.0Porque Python - FISL 9.0
Porque Python - FISL 9.0
Marco Mendes
 
Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009
Marco Mendes
 
Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009
Marco Mendes
 
Porque Python? FISL11
Porque Python? FISL11Porque Python? FISL11
Porque Python? FISL11
Marco Mendes
 
Versões do Ubuntu
Versões do UbuntuVersões do Ubuntu
Versões do Ubuntu
Marco Mendes
 
Python no Ensino Superior - PyconBrasil 1
Python no Ensino Superior - PyconBrasil 1Python no Ensino Superior - PyconBrasil 1
Python no Ensino Superior - PyconBrasil 1
Marco Mendes
 
Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011
Marco Mendes
 
Por que python? fisl 14 - 2013
Por que python?   fisl 14 - 2013Por que python?   fisl 14 - 2013
Por que python? fisl 14 - 2013
Marco Mendes
 
Educação Continuada
Educação ContinuadaEducação Continuada
Educação Continuada
Marco Mendes
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009
Marco Mendes
 
Configurando o Geany para Python - 03/2012
Configurando o Geany para Python - 03/2012Configurando o Geany para Python - 03/2012
Configurando o Geany para Python - 03/2012
Marco Mendes
 
Porque Python?
Porque Python?Porque Python?
Porque Python?
Marco Mendes
 
Configurando o geany_para_python
Configurando o geany_para_pythonConfigurando o geany_para_python
Configurando o geany_para_python
Marco Mendes
 
Educação continuada
Educação continuadaEducação continuada
Educação continuada
Marco Mendes
 
Resumo, Resenha e Resenha Crítica
Resumo, Resenha e Resenha CríticaResumo, Resenha e Resenha Crítica
Resumo, Resenha e Resenha Crítica
Marco Mendes
 

Destaque (20)

Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2
 
Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011
 
Porque Python - PythonBrasil[6]
Porque Python - PythonBrasil[6]Porque Python - PythonBrasil[6]
Porque Python - PythonBrasil[6]
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
Por que Python - Latinoware 2008
Por que Python - Latinoware 2008Por que Python - Latinoware 2008
Por que Python - Latinoware 2008
 
Porque Python - FISL 9.0
Porque Python - FISL 9.0Porque Python - FISL 9.0
Porque Python - FISL 9.0
 
Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009
 
Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009
 
Porque Python? FISL11
Porque Python? FISL11Porque Python? FISL11
Porque Python? FISL11
 
Versões do Ubuntu
Versões do UbuntuVersões do Ubuntu
Versões do Ubuntu
 
Python no Ensino Superior - PyconBrasil 1
Python no Ensino Superior - PyconBrasil 1Python no Ensino Superior - PyconBrasil 1
Python no Ensino Superior - PyconBrasil 1
 
Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011
 
Por que python? fisl 14 - 2013
Por que python?   fisl 14 - 2013Por que python?   fisl 14 - 2013
Por que python? fisl 14 - 2013
 
Educação Continuada
Educação ContinuadaEducação Continuada
Educação Continuada
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009
 
Configurando o Geany para Python - 03/2012
Configurando o Geany para Python - 03/2012Configurando o Geany para Python - 03/2012
Configurando o Geany para Python - 03/2012
 
Porque Python?
Porque Python?Porque Python?
Porque Python?
 
Configurando o geany_para_python
Configurando o geany_para_pythonConfigurando o geany_para_python
Configurando o geany_para_python
 
Educação continuada
Educação continuadaEducação continuada
Educação continuada
 
Resumo, Resenha e Resenha Crítica
Resumo, Resenha e Resenha CríticaResumo, Resenha e Resenha Crítica
Resumo, Resenha e Resenha Crítica
 

Semelhante a Python na Ciência da Computação - FLISOL 2011

Por que Python?
Por que Python?Por que Python?
Por que Python?
gsroma
 
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
Humberto Diógenes
 
Python na ciencia
Python na cienciaPython na ciencia
Python na ciencia
Raony Guimarães
 
Python brasil[6]
Python brasil[6]Python brasil[6]
Python brasil[6]
Eduardo S. Pereira
 
Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)
Domênico Medeiros
 
Elementos Fundamentais de Linguagens de Programação e a Linguagem Python
Elementos Fundamentais de Linguagens de Programação e a Linguagem PythonElementos Fundamentais de Linguagens de Programação e a Linguagem Python
Elementos Fundamentais de Linguagens de Programação e a Linguagem Python
Caliane Z. Pecenin
 
Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2
Marco Mendes
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
Athena542429
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
Bruno Maspoli
 
Algoritmos e programacao_em_python
Algoritmos e programacao_em_pythonAlgoritmos e programacao_em_python
Algoritmos e programacao_em_python
Artur Santos
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
Luiz Aldabalde
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
Luiz Aldabalde
 
ACM Lost171
ACM Lost171ACM Lost171
ACM Lost171
Domênico Medeiros
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
gsroma
 
Introdução à Linguagem de Programação Python.pdf
Introdução à Linguagem de Programação Python.pdfIntrodução à Linguagem de Programação Python.pdf
Introdução à Linguagem de Programação Python.pdf
EduardoChicoJooJoo
 
Python: Por Onde Começar e Aplicações
Python: Por Onde Começar e AplicaçõesPython: Por Onde Começar e Aplicações
Python: Por Onde Começar e Aplicações
Faculdade Martha Falcão
 
Por que escolher Python?
Por que escolher Python?Por que escolher Python?
Por que escolher Python?
Igor Leroy
 
Plp aula-01-apresentação
Plp aula-01-apresentaçãoPlp aula-01-apresentação
Plp aula-01-apresentação
José Meirelles
 
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Filipe Chagas Ferraz
 
Paradigms of programming languagens
Paradigms of programming languagensParadigms of programming languagens
Paradigms of programming languagens
Marcelo Hama
 

Semelhante a Python na Ciência da Computação - FLISOL 2011 (20)

Por que Python?
Por que Python?Por que Python?
Por que Python?
 
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
 
Python na ciencia
Python na cienciaPython na ciencia
Python na ciencia
 
Python brasil[6]
Python brasil[6]Python brasil[6]
Python brasil[6]
 
Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)
 
Elementos Fundamentais de Linguagens de Programação e a Linguagem Python
Elementos Fundamentais de Linguagens de Programação e a Linguagem PythonElementos Fundamentais de Linguagens de Programação e a Linguagem Python
Elementos Fundamentais de Linguagens de Programação e a Linguagem Python
 
Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
 
Algoritmos e programacao_em_python
Algoritmos e programacao_em_pythonAlgoritmos e programacao_em_python
Algoritmos e programacao_em_python
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
ACM Lost171
ACM Lost171ACM Lost171
ACM Lost171
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
 
Introdução à Linguagem de Programação Python.pdf
Introdução à Linguagem de Programação Python.pdfIntrodução à Linguagem de Programação Python.pdf
Introdução à Linguagem de Programação Python.pdf
 
Python: Por Onde Começar e Aplicações
Python: Por Onde Começar e AplicaçõesPython: Por Onde Começar e Aplicações
Python: Por Onde Começar e Aplicações
 
Por que escolher Python?
Por que escolher Python?Por que escolher Python?
Por que escolher Python?
 
Plp aula-01-apresentação
Plp aula-01-apresentaçãoPlp aula-01-apresentação
Plp aula-01-apresentação
 
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
 
Paradigms of programming languagens
Paradigms of programming languagensParadigms of programming languagens
Paradigms of programming languagens
 

Último

Trabalho Colaborativo na educação especial.pdf
Trabalho Colaborativo na educação especial.pdfTrabalho Colaborativo na educação especial.pdf
Trabalho Colaborativo na educação especial.pdf
marcos oliveira
 
As Ideias Têm Consequências - Richard M. Weaver
As Ideias Têm Consequências - Richard M. WeaverAs Ideias Têm Consequências - Richard M. Weaver
As Ideias Têm Consequências - Richard M. Weaver
C4io99
 
Relatório de Atividades 2017 CENSIPAM.pdf
Relatório de Atividades 2017 CENSIPAM.pdfRelatório de Atividades 2017 CENSIPAM.pdf
Relatório de Atividades 2017 CENSIPAM.pdf
Falcão Brasil
 
STALINISMO apresentação slides para escolares
STALINISMO apresentação slides para escolaresSTALINISMO apresentação slides para escolares
STALINISMO apresentação slides para escolares
Daniel273024
 
IV Jornada Nacional Tableau - Apresentações.pptx
IV Jornada Nacional Tableau - Apresentações.pptxIV Jornada Nacional Tableau - Apresentações.pptx
IV Jornada Nacional Tableau - Apresentações.pptx
Ligia Galvão
 
Se A Música É O Alimento do Amor Não Parem de Tocar Luzia Gabriele.ppsx
Se A Música É O Alimento do Amor Não Parem de Tocar Luzia Gabriele.ppsxSe A Música É O Alimento do Amor Não Parem de Tocar Luzia Gabriele.ppsx
Se A Música É O Alimento do Amor Não Parem de Tocar Luzia Gabriele.ppsx
Luzia Gabriele
 
Oficina de bases de dados - Dimensions.pdf
Oficina de bases de dados - Dimensions.pdfOficina de bases de dados - Dimensions.pdf
Oficina de bases de dados - Dimensions.pdf
beathrizalves131
 
Slides Lição 2, Betel, A Igreja e a relevância, para a adoração verdadeira no...
Slides Lição 2, Betel, A Igreja e a relevância, para a adoração verdadeira no...Slides Lição 2, Betel, A Igreja e a relevância, para a adoração verdadeira no...
Slides Lição 2, Betel, A Igreja e a relevância, para a adoração verdadeira no...
LuizHenriquedeAlmeid6
 
Temática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores LocaisTemática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores Locais
Colaborar Educacional
 
Texto e atividade - Fontes alternativas de energia
Texto e atividade -  Fontes alternativas de energiaTexto e atividade -  Fontes alternativas de energia
Texto e atividade - Fontes alternativas de energia
Mary Alvarenga
 
oficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdfoficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdf
marcos oliveira
 
Operações de adição, subtração, multiplicação e divisão.
Operações de adição, subtração, multiplicação e divisão.Operações de adição, subtração, multiplicação e divisão.
Operações de adição, subtração, multiplicação e divisão.
Mary Alvarenga
 
Relatório de Atividades 2021/2022 CENSIPAM.pdf
Relatório de Atividades 2021/2022 CENSIPAM.pdfRelatório de Atividades 2021/2022 CENSIPAM.pdf
Relatório de Atividades 2021/2022 CENSIPAM.pdf
Falcão Brasil
 
escrita criativa utilizada na arteterapia
escrita criativa   utilizada na arteterapiaescrita criativa   utilizada na arteterapia
escrita criativa utilizada na arteterapia
shirleisousa9166
 
Auxiliar Adolescente 2024 3 trimestre 24
Auxiliar Adolescente 2024 3 trimestre 24Auxiliar Adolescente 2024 3 trimestre 24
Auxiliar Adolescente 2024 3 trimestre 24
DirceuSilva26
 
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
Sandra Pratas
 
Folha de Atividades (Virei Super-Herói! Projeto de Edição de Fotos) com Grade...
Folha de Atividades (Virei Super-Herói! Projeto de Edição de Fotos) com Grade...Folha de Atividades (Virei Super-Herói! Projeto de Edição de Fotos) com Grade...
Folha de Atividades (Virei Super-Herói! Projeto de Edição de Fotos) com Grade...
marcos oliveira
 
Noite Alva! José Ernesto Ferraresso.ppsx
Noite Alva! José Ernesto Ferraresso.ppsxNoite Alva! José Ernesto Ferraresso.ppsx
Noite Alva! José Ernesto Ferraresso.ppsx
Luzia Gabriele
 
Relatório de Atividades 2009 CENSIPAM
Relatório de Atividades 2009 CENSIPAM Relatório de Atividades 2009 CENSIPAM
Relatório de Atividades 2009 CENSIPAM
Falcão Brasil
 
Guia referencial de Apoio - Planejamento Escolar 2024.pdf
Guia referencial de Apoio - Planejamento Escolar 2024.pdfGuia referencial de Apoio - Planejamento Escolar 2024.pdf
Guia referencial de Apoio - Planejamento Escolar 2024.pdf
FLAVIOROBERTOGOUVEA
 

Último (20)

Trabalho Colaborativo na educação especial.pdf
Trabalho Colaborativo na educação especial.pdfTrabalho Colaborativo na educação especial.pdf
Trabalho Colaborativo na educação especial.pdf
 
As Ideias Têm Consequências - Richard M. Weaver
As Ideias Têm Consequências - Richard M. WeaverAs Ideias Têm Consequências - Richard M. Weaver
As Ideias Têm Consequências - Richard M. Weaver
 
Relatório de Atividades 2017 CENSIPAM.pdf
Relatório de Atividades 2017 CENSIPAM.pdfRelatório de Atividades 2017 CENSIPAM.pdf
Relatório de Atividades 2017 CENSIPAM.pdf
 
STALINISMO apresentação slides para escolares
STALINISMO apresentação slides para escolaresSTALINISMO apresentação slides para escolares
STALINISMO apresentação slides para escolares
 
IV Jornada Nacional Tableau - Apresentações.pptx
IV Jornada Nacional Tableau - Apresentações.pptxIV Jornada Nacional Tableau - Apresentações.pptx
IV Jornada Nacional Tableau - Apresentações.pptx
 
Se A Música É O Alimento do Amor Não Parem de Tocar Luzia Gabriele.ppsx
Se A Música É O Alimento do Amor Não Parem de Tocar Luzia Gabriele.ppsxSe A Música É O Alimento do Amor Não Parem de Tocar Luzia Gabriele.ppsx
Se A Música É O Alimento do Amor Não Parem de Tocar Luzia Gabriele.ppsx
 
Oficina de bases de dados - Dimensions.pdf
Oficina de bases de dados - Dimensions.pdfOficina de bases de dados - Dimensions.pdf
Oficina de bases de dados - Dimensions.pdf
 
Slides Lição 2, Betel, A Igreja e a relevância, para a adoração verdadeira no...
Slides Lição 2, Betel, A Igreja e a relevância, para a adoração verdadeira no...Slides Lição 2, Betel, A Igreja e a relevância, para a adoração verdadeira no...
Slides Lição 2, Betel, A Igreja e a relevância, para a adoração verdadeira no...
 
Temática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores LocaisTemática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores Locais
 
Texto e atividade - Fontes alternativas de energia
Texto e atividade -  Fontes alternativas de energiaTexto e atividade -  Fontes alternativas de energia
Texto e atividade - Fontes alternativas de energia
 
oficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdfoficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdf
 
Operações de adição, subtração, multiplicação e divisão.
Operações de adição, subtração, multiplicação e divisão.Operações de adição, subtração, multiplicação e divisão.
Operações de adição, subtração, multiplicação e divisão.
 
Relatório de Atividades 2021/2022 CENSIPAM.pdf
Relatório de Atividades 2021/2022 CENSIPAM.pdfRelatório de Atividades 2021/2022 CENSIPAM.pdf
Relatório de Atividades 2021/2022 CENSIPAM.pdf
 
escrita criativa utilizada na arteterapia
escrita criativa   utilizada na arteterapiaescrita criativa   utilizada na arteterapia
escrita criativa utilizada na arteterapia
 
Auxiliar Adolescente 2024 3 trimestre 24
Auxiliar Adolescente 2024 3 trimestre 24Auxiliar Adolescente 2024 3 trimestre 24
Auxiliar Adolescente 2024 3 trimestre 24
 
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
 
Folha de Atividades (Virei Super-Herói! Projeto de Edição de Fotos) com Grade...
Folha de Atividades (Virei Super-Herói! Projeto de Edição de Fotos) com Grade...Folha de Atividades (Virei Super-Herói! Projeto de Edição de Fotos) com Grade...
Folha de Atividades (Virei Super-Herói! Projeto de Edição de Fotos) com Grade...
 
Noite Alva! José Ernesto Ferraresso.ppsx
Noite Alva! José Ernesto Ferraresso.ppsxNoite Alva! José Ernesto Ferraresso.ppsx
Noite Alva! José Ernesto Ferraresso.ppsx
 
Relatório de Atividades 2009 CENSIPAM
Relatório de Atividades 2009 CENSIPAM Relatório de Atividades 2009 CENSIPAM
Relatório de Atividades 2009 CENSIPAM
 
Guia referencial de Apoio - Planejamento Escolar 2024.pdf
Guia referencial de Apoio - Planejamento Escolar 2024.pdfGuia referencial de Apoio - Planejamento Escolar 2024.pdf
Guia referencial de Apoio - Planejamento Escolar 2024.pdf
 

Python na Ciência da Computação - FLISOL 2011

  • 1. Uso de Python em cursos de Ciˆncia da e Computa¸˜o ca Estruturas, bibliotecas e ferramentas Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e 9 de abril de 2011 Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 2. Apresenta¸˜o ca Quem ´ esse cara? e 1 Mestre em Ciˆncia da Computa¸˜o pela UFSC e ca 2 Professor desde 1995 1 Usu´rio Unix desde 1992 e Linux desde 1999 a 2 Entusiasta de software de c´digo aberto o 1 Membro da comunidade Python desde 2004 2 Membro-fundador da Associa¸˜o Python Brasil (APyB) ca 3 Membro da diretoria da APyB Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 3. Uma breve introdu¸˜o ca Sobre a linguagem 1 Criada por Guido van Rossum em 1991 2 Origem do nome: grupo de humoristas Monty Python 3 Linguagem de alt´ ıssimo n´ (VHLL) ıvel 4 Sintaxe de f´cil leitura a 5 Orientada ` objetos, estruturada e funcional a 6 Tipagem forte e dinˆmica a 7 Multiplataforma 8 Interpretada 9 Ambiente interativo 10 Licen¸a compat´ com a GPL c ıvel Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 4. Estruturas de dados nativas 1 Strings 2 Listas 3 Tuplas 4 Dicion´rios a 5 Sets 6 Frozensets Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 5. NumPy Matem´tica a 1 Poderoso array N-dimensional de objetos 2 integra¸˜o com c´digo C/C++ e Fortran ca o 3 fun¸˜es de ´lgebra linear, transformada de Fourier e n´meros co a u aleat´rios o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 6. SciPy Matem´tica a 1 Utiliza como base o NumPy para lidar eficientemente com grandes quantidades de n´meros u 2 Implementa: Estat´ ısticas, otimiza¸˜o, integra¸˜o num´rica, ca ca e processamento de sinais e imagens, solu¸˜o de equa¸˜es ca co diferenciais, fun¸˜es especiais (Bessel, etc.), polinˆmios, etc. co o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 7. Sage Matem´tica a 1 Aplicativo de matem´tica GPL a 2 Combina o poder de muitos pacotes de c´digo aberto o existentes em uma interface Python comum 3 Miss˜o: Criar uma alternativa livre e de c´digo aberto para a o Magma, Maple, Mathematica e Matlab. Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 8. PyODE Computa¸˜o Gr´fica ca a 1 PyODE ´ um binding de ODE para Python e 2 ODE: simula¸˜o de dinˆmica de objetos r´ ca a ıgidos 3 Jun¸˜es e detec¸˜o de colis˜o com fric¸˜o co ca a ca 4 Simula¸˜o de ve´ ca ıculos, objetos e criaturas em ambientes virtuais 5 Jogos de computador, ferramentas de autoria 3D e de simula¸˜o ca Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 9. PyOpenGL Computa¸˜o Gr´fica ca a 1 PyOpenGL: binding de OpenGL para Python 2 OpenGL: API livre utilizada na computa¸˜o gr´fica ca a 3 Desenvolvimento de aplicativos gr´ficos, ambientes 3D, jogos, a entre outros Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 10. PIL - Python Image Library Processamento de Imagens 1 suporte ` abertura e grava¸˜o de muitos formatos de imagem a ca diferentes 2 formatos suportados: PNG, TIFF, BMP, EPS e GIF Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 11. PyGlet Computa¸˜o Gr´fica, anima¸˜o e jogos ca a ca 1 Desenvolvimento de jogos e aplica¸˜es visualmente ricas co 2 Suporte para eventos de mouse e teclado 3 Pode carregar diversos formatos de arquivos de multim´ ıdia Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 12. Cocos 2D Anima¸˜o e jogos ca 1 Framework para a constru¸˜o de jogos, demos e outras ca aplica¸˜es gr´ficas e interativas em 2D co a 2 Utiliza PyGlet e OpenGL Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 13. PyGame Anima¸˜o e jogos ca 1 M´dulo multi-plataforma projetado para escrever jogos. o 2 Inclui bibliotecas de computa¸˜o gr´fica de som. ca a 3 ´ constru´ sobre a biblioteca SDL (Simple DirectMedia E ıda Layer) Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 14. Panda 3D Anima¸˜o e jogos ca 1 Motor de jogo 3D escrito em C++ para ser usado com Python 2 Desenvolvido pela Disney e Carnegie Mellon University’s Entertainment Technology Center 3 Possui motor de f´ ısica, texturas animadas, suporte a shaders e som 2D e 3D Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 15. AIMA Inteligˆncia Artificial e 1 C´digo em Python dos algoritmos do livro Artificial o Intelligence: a Modern Approach, de Peter Norvig 2 O livro-texto apresenta os algoritmos em pseudo-c´digo o 3 Existem os c´digos em Lisp tamb´m, para compara¸˜o o e ca Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 16. Peach Inteligˆncia Artificial e 1 M´dulo escrito puramente em Python, baseado nas bibliotecas o cient´ ıficas SciPy e NumPy 2 Implementa¸˜o de algoritmos de inteligˆncia computacional e ca e aprendizado de m´quina a 3 Redes neurais artificiais, l´gica fuzzy, algoritmos gen´ticos, o e inteligˆncia de enxames e muito mais e 4 Objetivo primariamente educacional 5 Cuidado com a eficiˆncia na implementa¸˜o e ca Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 17. Compiladores 1 PLY: Python Lex-Yacc 2 PyParsing 3 Parsing: Python parser generator module 4 ANTLR: ANother Tool for Language Recognition Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 18. PyDot e Graphviz Grafos 1 pydot ´ uma interface da linguagem de pontos Graphviz’s e para Python 2 Permite a cria¸˜o f´cil de grafos dirigidos e n˜o dirigidos ca a a 3 Grafos abstratos e redes podem ser criados automaticamente 4 Desenvolvido pelos laborat´rios de pesquisa da AT&T o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 19. NetworkX Grafos 1 Cria¸˜o, manipula¸˜o e estudo da estrutura, dinˆmica e ca ca a fun¸˜es das redes complexas co 2 Adequado para opera¸˜o em grandes gr´ficos reais (p.e. mais ca a de 10 milh˜es de n´s e 100 milh˜es de bordas) o o o 3 Utiliza dicion´rios de dicion´rios de Python como estrutura a a 4 Pode ser usado para an´lises de redes e de redes sociais a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 20. PyMetric Grafos 1 Simula¸˜o interativa de rede e ferramenta de ca visualiza¸˜o ca 2 Tra¸a caminhos dado um conjunto de n´s e c o enlaces com m´tricas e 3 Simula¸˜o de mudan¸as do sistema m´trico, ca c e falhas de roteador e interrup¸˜es de enlaces, co mudan¸as na topologia e roteamento c 4 Considera cargas em enlaces e mudan¸as c que afetam a distribui¸˜o de carga ca 5 Estat´ ısticas sobre a topologia: caminhos de custo-igual, liga¸˜es com custos co assim´tricos, caminho mais longo e 6 Sugere mudan¸as m´tricas em engenharia de c e tr´fego a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 21. PL/Python Banco de Dados e SQL 1 ”O banco de dados livre mais avan¸ado do mundo” c 2 Stored procedures (em PL/PgSQL), triggers, domains 3 Programa¸˜o de procedures: uso de outras linguagens de ca programa¸˜o ca 4 Atualmente suportadas: python, ruby, tcl, perl, Java, PHP e C 5 Python: simples, poderosa e com muitas bibliotecas dispon´ ıveis Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 22. ZODB - Zope Object Data Base Banco de Dados Orientado a Objetos 1 Banco de dados transacional orientado a objetos livre utilizado pelo servidor de aplica¸˜o Zope para armazenamento ca transparente de objetos Python 2 Pode ser usado independentemente 3 Caracter´ ısticas: transa¸˜es, hist´rico/cancelamento, co o armazenamento transparente conect´vel, cache embutido, a controle de concorrˆncia multivers˜o (MVCC) e escalabilidade e a atrav´s da rede (usando ZEO) e 4 Reposit´rio de dados Python maduro que possui centenas de o milhares de sistemas rodando sobre ele atualmente Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 23. Twisted Protocolos de redes 1 Framework de rede de c´digo aberto escrito inteiramente em o Python 2 Permite a cria¸˜o de proxies SMTP, HTTP e servidores SSH ca (e mais) em Python com o m´ ınimo esfor¸o c 3 ´ ass´ E ıncrono e dirigido a eventos 4 N˜o exige o uso de modelos tradicionais de threading a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 24. Socket e Asyncore Protocolos de redes Socket 1 Interface de rede de baixo n´ ıvel 2 Fornece interface semelhante ` BSD a Asyncore 1 Infra-estrutura b´sica para escrever servi¸os de socket a c ass´ ıncrono para clientes e servidores 2 Meio termo entre socket e Twisted Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 25. PyRO - Python Remote Objects Sistemas Distribu´ ıdos 1 Comunica¸˜o de objetos em rede de forma simples ca 2 Acesso a objetos em diferentes m´quinas na rede como se a fossem locais 3 Lembra Java Remote Method Invocation (RMI). Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 26. Multithreading Processamento distribu´ ıdo, paralelo e multiprocessamento 1 threading: primitivas de baixo n´ para trabalhar com ıvel m´ltiplos threads u 2 Qeue: filas LIFO, FIFO e de prioridade com multi-produtores e consumidores 3 multiprocessing: oferece concorrˆncia local e remoto, usando e subprocessos em vez de threads Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 27. Python Cryptography Toolkit Criptografia 1 Algoritmos de criptografia: RC4, Blowfish, DES, Diamond, IDEA, LOKI91, RC5, REDOC III, Sapphire. 2 Algoritmos de hash: MD2, MD4, MD5, Secure Hash Algorithm 3 Algoritmos de chave p´blica: ElGamal, RSA u Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 28. Lista de discuss˜o a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 29. Python Brasil[7] Encontro brasileiro da comunidade Python Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 30. Comunidade Python Brasil Acesse e assine nossa lista Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 31. Dorneles Trem´a: 1979 - 2011 e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 32. 1 Estes slides: slideshare.com/marrcandre 2 google*: marcoandre@gmail.com 3 twitter: @marrcandre 4 blog: marrcandre.blogspot.com random.choice([’pergunta’, ’d´vida’, ’discuss˜o’]) u a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca