SlideShare a Scribd company logo
1 of 32
Download to read offline
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

More Related Content

Viewers also liked

Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2Marco 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 2011Marco 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/10Marco Mendes
 
Por que Python - Latinoware 2008
Por que Python - Latinoware 2008Por que Python - Latinoware 2008
Por que Python - Latinoware 2008Marco Mendes
 
Porque Python - FISL 9.0
Porque Python - FISL 9.0Porque Python - FISL 9.0
Porque Python - FISL 9.0Marco Mendes
 
Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Marco Mendes
 
Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Marco Mendes
 
Porque Python? FISL11
Porque Python? FISL11Porque Python? FISL11
Porque Python? FISL11Marco Mendes
 
Versões do Ubuntu
Versões do UbuntuVersões do Ubuntu
Versões do UbuntuMarco Mendes
 
Python no Ensino Superior - PyconBrasil 1
Python no Ensino Superior - PyconBrasil 1Python no Ensino Superior - PyconBrasil 1
Python no Ensino Superior - PyconBrasil 1Marco 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 2011Marco Mendes
 
Por que python? fisl 14 - 2013
Por que python?   fisl 14 - 2013Por que python?   fisl 14 - 2013
Por que python? fisl 14 - 2013Marco Mendes
 
Educação Continuada
Educação ContinuadaEducação Continuada
Educação ContinuadaMarco Mendes
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Marco 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/2012Marco Mendes
 
Configurando o geany_para_python
Configurando o geany_para_pythonConfigurando o geany_para_python
Configurando o geany_para_pythonMarco Mendes
 
Educação continuada
Educação continuadaEducação continuada
Educação continuadaMarco Mendes
 
Resumo, Resenha e Resenha Crítica
Resumo, Resenha e Resenha CríticaResumo, Resenha e Resenha Crítica
Resumo, Resenha e Resenha CríticaMarco Mendes
 

Viewers also liked (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
 

Similar to 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
 
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 PythonCaliane Z. Pecenin
 
Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2Python no Ensino Superior - PyconBrasil 2
Python no Ensino Superior - PyconBrasil 2Marco Mendes
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfAthena542429
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem pythonBruno Maspoli
 
Algoritmos e programacao_em_python
Algoritmos e programacao_em_pythonAlgoritmos e programacao_em_python
Algoritmos e programacao_em_pythonArtur Santos
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Luiz Aldabalde
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010Luiz Aldabalde
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609gsroma
 
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.pdfEduardoChicoJooJoo
 
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çãoJosé 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 languagensMarcelo Hama
 

Similar to 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
 

Recently uploaded

Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasCasa Ciências
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaJúlio Sandes
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxKtiaOliveira68
 

Recently uploaded (20)

Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de Partículas
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdf
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptx
 

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