SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
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



                                24 de setembro de 2010




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 simples e f´cil de ser assimilada
                         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
Strings
Estruturas de dados nativas




      1   Armazenam texto (conjuntos de caracteres)
      2   Crescem at´ o limite da mem´ria
                    e                o
      3   Substituem char e vetor de char
      4   Acesso sequencial, em fatias ou direto por ´
                                                     ındice
      5   Implementadas com listas encadeadas
      6   S˜o objetos com diversos m´todos: procurar, contar, mudar
           a                        e
          caixa, etc.
      7   Podem ser utilizadas para implementar outras estruturas como
          pilhas e filas




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




      1   Armazenam cole¸˜es de objetos heterogˆneos
                        co                     e
      2   Crescem at´ o limite da mem´ria
                    e                o
      3   Substituem vetores, matrizes, registros e listas encadeadas
      4   Acesso sequencial, em fatias ou direto por ´
                                                     ındice
      5   Implementadas com listas encadeadas
      6   S˜o objetos com diversos m´todos: adicionar, remover,
           a                        e
          ordenar, procurar, contar
      7   Podem ser utilizadas para implementar outras estruturas como
          pilhas e filas




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




      1   Armazenam pares chave/valor de forma desordenada
      2   Crescem at´ o limite da mem´ria
                    e                o
      3   Podem ser utilizados para persistir dados
      4   Acesso sequencial ou direto pela chave
      5   Implementados com tabelas hash
      6   S˜o objetos com diversos m´todos: adicionar, remover,
           a                        e
          procurar, contar




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




      1   Armazenam cole¸˜es de objetos unicos e desordenados
                        co              ´
      2   Crescem at´ o limite da mem´ria
                    e                o
      3   Acesso atrav´s de percurso
                      e
      4   Implementados com tabelas hash
      5   S˜o objetos com diversos m´todos: uni˜o, disjun¸˜o,
           a                        e          a         ca
          diferen¸a, etc.
                 c




  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
             co      a
          capacidades de n´meros aleat´rios
                           u             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,<marcoandre@gmail.com> (Bessel, etc.), polinˆncia da Computa¸˜o
  Marco Andr´ Lopes Mendes
            e              fun¸˜es especiais Uso de Python em cursos de Ciˆ mios, etc. ca
                              co                                          o
                                                                          e
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 outras aplica¸˜es visualmente
                                                  co
          ricas
      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   ´
             E adequado para a opera¸˜o em grandes gr´ficos do mundo
                                      ca                a
             real, p.e. com mais de 10 milh˜es de n´s e 100 milh˜es de
                                           o       o            o
             bordas
         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
          fosse local
      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
Pythn Brasil[6]
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
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

Weitere ähnliche Inhalte

Andere mochten auch

Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Marco Mendes
 
Uso de POO com Python - PyconBrasil 2
Uso de POO com Python - PyconBrasil 2Uso de POO com Python - PyconBrasil 2
Uso de POO com Python - PyconBrasil 2Marco Mendes
 
Porque Python - FISL 9.0
Porque Python - FISL 9.0Porque Python - FISL 9.0
Porque Python - FISL 9.0Marco Mendes
 
Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2Marco Mendes
 
Versões do Ubuntu
Versões do UbuntuVersões do Ubuntu
Versões do UbuntuMarco Mendes
 
Por que Python? - FURB - 2009
Por que Python? - FURB - 2009Por que Python? - FURB - 2009
Por que Python? - FURB - 2009Marco Mendes
 
Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Marco 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
 
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
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da InformaçãoMarco Mendes
 

Andere mochten auch (20)

Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009Por que Python? - FISL 10 - 2009
Por que Python? - FISL 10 - 2009
 
Uso de POO com Python - PyconBrasil 2
Uso de POO com Python - PyconBrasil 2Uso de POO com Python - PyconBrasil 2
Uso de POO com Python - PyconBrasil 2
 
Porque Python - FISL 9.0
Porque Python - FISL 9.0Porque Python - FISL 9.0
Porque Python - FISL 9.0
 
Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2Calculadora IP com libglade - PyconBrasil 2
Calculadora IP com libglade - PyconBrasil 2
 
Versões do Ubuntu
Versões do UbuntuVersões do Ubuntu
Versões do Ubuntu
 
Por que Python? - FURB - 2009
Por que Python? - FURB - 2009Por que Python? - FURB - 2009
Por que Python? - FURB - 2009
 
Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009Por que Python? - Latinoware 2009
Por que Python? - Latinoware 2009
 
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
 
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
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informação
 

Ähnlich wie Python em Ciência da Computação

Por que Python?
Por que Python?Por que Python?
Por que Python?gsroma
 
Projetos de algoritmos com implementações em pascal e c (nivio ziviani, 4ed)
Projetos de algoritmos com implementações em pascal e c (nivio ziviani, 4ed)Projetos de algoritmos com implementações em pascal e c (nivio ziviani, 4ed)
Projetos de algoritmos com implementações em pascal e c (nivio ziviani, 4ed)CriatividadeZeroDocs
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamenteRodrigo Amaral
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4Fabio Spanhol
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2Fabio Spanhol
 
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
 
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...Jonatas Oliveira
 
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...Stephane Tosta
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de ProgramaçãoBeDMK
 
Paradigms of programming languagens
Paradigms of programming languagensParadigms of programming languagens
Paradigms of programming languagensMarcelo Hama
 
Aula Inaugural - Programação Imperativa
Aula Inaugural - Programação ImperativaAula Inaugural - Programação Imperativa
Aula Inaugural - Programação ImperativaIvna Valença
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoRobson Ferreira
 

Ähnlich wie Python em Ciência da Computação (15)

Por que Python?
Por que Python?Por que Python?
Por que Python?
 
Projetos de algoritmos com implementações em pascal e c (nivio ziviani, 4ed)
Projetos de algoritmos com implementações em pascal e c (nivio ziviani, 4ed)Projetos de algoritmos com implementações em pascal e c (nivio ziviani, 4ed)
Projetos de algoritmos com implementações em pascal e c (nivio ziviani, 4ed)
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamente
 
Python tutorial-ed3
Python tutorial-ed3Python tutorial-ed3
Python tutorial-ed3
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
 
apresentacao.pdf
apresentacao.pdfapresentacao.pdf
apresentacao.pdf
 
aula3_python.pptx
aula3_python.pptxaula3_python.pptx
aula3_python.pptx
 
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
 
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
 
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
(Ebook) projetos de algoritmos com implementações em pascal e c (nivio zivian...
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Paradigms of programming languagens
Paradigms of programming languagensParadigms of programming languagens
Paradigms of programming languagens
 
Aula Inaugural - Programação Imperativa
Aula Inaugural - Programação ImperativaAula Inaugural - Programação Imperativa
Aula Inaugural - Programação Imperativa
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentação
 

Kürzlich hochgeladen

Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 

Kürzlich hochgeladen (20)

Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 

Python em Ciência da Computação

  • 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 24 de setembro de 2010 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 simples e f´cil de ser assimilada 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. Strings Estruturas de dados nativas 1 Armazenam texto (conjuntos de caracteres) 2 Crescem at´ o limite da mem´ria e o 3 Substituem char e vetor de char 4 Acesso sequencial, em fatias ou direto por ´ ındice 5 Implementadas com listas encadeadas 6 S˜o objetos com diversos m´todos: procurar, contar, mudar a e caixa, etc. 7 Podem ser utilizadas para implementar outras estruturas como pilhas e filas Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 5. Listas e tuplas Estruturas de dados nativas 1 Armazenam cole¸˜es de objetos heterogˆneos co e 2 Crescem at´ o limite da mem´ria e o 3 Substituem vetores, matrizes, registros e listas encadeadas 4 Acesso sequencial, em fatias ou direto por ´ ındice 5 Implementadas com listas encadeadas 6 S˜o objetos com diversos m´todos: adicionar, remover, a e ordenar, procurar, contar 7 Podem ser utilizadas para implementar outras estruturas como pilhas e filas Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 6. Dicion´rios a Estruturas de dados nativas 1 Armazenam pares chave/valor de forma desordenada 2 Crescem at´ o limite da mem´ria e o 3 Podem ser utilizados para persistir dados 4 Acesso sequencial ou direto pela chave 5 Implementados com tabelas hash 6 S˜o objetos com diversos m´todos: adicionar, remover, a e procurar, contar Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 7. Conjuntos (Sets, Frozensets) Estruturas de dados nativas 1 Armazenam cole¸˜es de objetos unicos e desordenados co ´ 2 Crescem at´ o limite da mem´ria e o 3 Acesso atrav´s de percurso e 4 Implementados com tabelas hash 5 S˜o objetos com diversos m´todos: uni˜o, disjun¸˜o, a e a ca diferen¸a, etc. c Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 8. 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 co a capacidades de n´meros aleat´rios u o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Uso de Python em cursos de Ciˆncia da Computa¸˜o e ca
  • 9. 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,<marcoandre@gmail.com> (Bessel, etc.), polinˆncia da Computa¸˜o Marco Andr´ Lopes Mendes e fun¸˜es especiais Uso de Python em cursos de Ciˆ mios, etc. ca co o e
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. PyGlet Computa¸˜o Gr´fica, anima¸˜o e jogos ca a ca 1 Desenvolvimento de jogos e outras aplica¸˜es visualmente co ricas 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. NetworkX Grafos 1 Cria¸˜o, manipula¸˜o e estudo da estrutura, dinˆmica e ca ca a fun¸˜es das redes complexas co 2 ´ E adequado para a opera¸˜o em grandes gr´ficos do mundo ca a real, p.e. com mais de 10 milh˜es de n´s e 100 milh˜es de o o o bordas 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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 fosse local 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. Pythn Brasil[6] 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
  • 33. 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