Pythonificando
a Universidade
Luciano Camargo Cruz
João Toss Molon
Matheus Pereira
Luciano Camargo Cruz
● Sócio da empresa Hadi.Com - Habitats Digitais para Comunidades.
● Desenvolvedor WEB, gerente de projetos, administrador de portais
Python/Zope/Plone e configurações de servidores;
● Desenvolvedor Python/Zope/Plone no Instituto Communitas e
HaDi.Com;
● Organizador voluntário TcheLinux Caxias do Sul 2013;
● Membro da Plone Foundation e Associação Python Brasil (APyB).
● Motoqueiro, Lutador, Pescador, Gaúcho, …
luciano@lccruz.net
@__lccruz__
João Toss Molon
● Pesquisador e Desenvolvedor Python/Zope/Plone no
Instituto Communitas e HaDiCom
● Graduando de Ciência da Computação da Universidade
de Caxias do Sul (último semestre o/)
● Membro da Plone Foundation
Matheus Pereira - matheper
Pesquisador e Desenvolvedor Python/Zope/Plone -
Instituto Communitas e HaDiCom
Professor - FTEC Faculdades
Graduado em Ciência da Computação - Universidade de
Caxias do Sul
Membro da Plone Foundation
Organizador voluntário TcheLinux Caxias do Sul 2013;
Palestrante nas horas vagas
http://www.matheper.com/
Camargo | Molon | Pereira
Python
● Iniciou em 1990;
● Guido van Rossum:
○ Holandês;
○ Matemático e Cientista da Computação;
○ Criar uma linguagem de nível elevado;
○ Sintaxe simples e de fácil compreensão.
● Python Software Foundation
http://www.python.org
“O importante é usar Python”
Dorneles Treméa
Camargo e Tavares
“Com Python, você só se preocupa com o
problema”
Luciano Camargo Cruz
Python
● Por que começar a usar Python?
○ Velocidade no desenvolvimento
○ Fácil de aprender
● Dá pra fazer tudo com Python
Python - UCS
● Contratação da X3NG para o desenvolvimento do portal
da universidade (Site):
○ Dorneles e Sidnei.
● Porta do CCET - 2003 - Plone - 5.000 usuários;
● Em 2007 virou o UCS Virtual - 2003 - Plone - 32.000
Pessoas;
● Utilização do Python em aula apenas por pessoas que
trabalharam na UCS.
● Foi iniciado uma pesquisa para criar um empacotador
de objetos de aprendizagem no padrão SCORM.
Combat Biplanes
❏ Sistemas Distribuídos e Computação Paralela
❏ Objetivo: desenvolver uma versão multiplayer do game
Combat Biplanes, com comunicação através de sockets
❏ Solução:
❏ SocketServer para comunicação via sockets
❏ pygame para interface do game
https://bitbucket.org/jtmolon/combatbiplanes
Sniffer
❏ Redes de Computadores
❏ Objetivo: capturar e analisar pacotes de dados
IPv6 e ICMPv6. Gerar relatórios com informações da
amostra coletada
❏ Solução:
❏ netaddr, scapy
❏ cairo, cairoplot
❏ pygtk
https://bitbucket.org/lccruz/sniffer
Sniffer
https://bitbucket.org/lccruz/sniffer
Saving Robots
❏ Computação Gráfica
❏ Objetivo: um robô deve recolher objetos espalhados
dentro de uma arena. Em 2D e 3D
❏ Solução:
❏ pygame para interface 2D
❏ Panda 3D para
https://bitbucket.org/jtmolon/combatbiplanes
Demoucron
❏ Teoria dos Grafos
❏ Objetivo: verificar a planaridade de um grafo aplicando
simplificações e algoritmos de teoria dos grafos
❏ Solução:
❏ Nenhuma biblioteca adicional
https://github.com/matheper/demoucron/
PyRO Checkers
❏ Sistemas distribuídos e computação paralela
❏ Objetivo: desenvolver um jogo de damas distribuído,
com comunicação cliente/servidor através de objeto
remoto
❏ Solução:
❏ PyRO - Python Remote Object
https://bitbucket.org/jtmolon/pyrocheckers
❏ Inteligência Artificial
❏ Objetivo: Resolvendo o Sudoku com algoritmos
genéticos
❏ Solução:
❏ Descrição dos operadores genéticos:
❏ Crossover:
❏ Os pais são selecionados atraveś do método do Torneio, é
selecionado dois pais, com isso é efetuado o Crossover de
um Cliclo.
Sudoku
https://bitbucket.org/lccruz/genetic.sudoku
❏ Solução:
❏ Mutação:
❏ É escolhido um filho entre dois de forma
randômica (choice), com esse filho é
sorteado uma linha e é feito uma troca de
posição entre os elementos da linha
Sudoku
https://bitbucket.org/lccruz/genetic.sudoku
❏ Solução:
❏ Execução, solução otíma:
Sudoku
https://bitbucket.org/lccruz/genetic.sudoku
❏ Sistemas Distribuídos e Computação Paralela
❏ Objetivo: desenvolver um sistema de compartilhamento
de arquivos utilizando sockets
❏ Solução:
❏ socket
❏ SocketServer
❏ threading
Napster
https://github.com/matheper/napster
❏ Formais e Compiladores
❏ Objetivo: desenvolver um Analisador Léxico e Sintático.
❏ Solução:
❏ Nenhuma biblioteca adicional
Translator ctovisualg
https://bitbucket.org/jtmolon/translator.ctovisualg
Sound Collide
❏ Computação Gráfica
❏ Objetivo: desenvolver alguma coisa para a matéria de
computação gráfica.
❏ Solução:
❏ desenvolvido um software que produz audio quando
colide com objeto, tudo é gerado aleatoriamente;
❏ pygame.
https://github.com/lccruz/sound_collision
Obrigado!
❏ Luciano Camargo Cruz (luciano@lccruz.net)
❏ João Toss Molon (jtmolon@gmail.com)
❏ Matheus Pereira (matheper@gmail.com)
https://github.com/lccruz/sound_collision

Pythonificando a Universidade

  • 1.
    Pythonificando a Universidade Luciano CamargoCruz João Toss Molon Matheus Pereira
  • 2.
    Luciano Camargo Cruz ●Sócio da empresa Hadi.Com - Habitats Digitais para Comunidades. ● Desenvolvedor WEB, gerente de projetos, administrador de portais Python/Zope/Plone e configurações de servidores; ● Desenvolvedor Python/Zope/Plone no Instituto Communitas e HaDi.Com; ● Organizador voluntário TcheLinux Caxias do Sul 2013; ● Membro da Plone Foundation e Associação Python Brasil (APyB). ● Motoqueiro, Lutador, Pescador, Gaúcho, … luciano@lccruz.net @__lccruz__
  • 3.
    João Toss Molon ●Pesquisador e Desenvolvedor Python/Zope/Plone no Instituto Communitas e HaDiCom ● Graduando de Ciência da Computação da Universidade de Caxias do Sul (último semestre o/) ● Membro da Plone Foundation
  • 4.
    Matheus Pereira -matheper Pesquisador e Desenvolvedor Python/Zope/Plone - Instituto Communitas e HaDiCom Professor - FTEC Faculdades Graduado em Ciência da Computação - Universidade de Caxias do Sul Membro da Plone Foundation Organizador voluntário TcheLinux Caxias do Sul 2013; Palestrante nas horas vagas http://www.matheper.com/
  • 5.
    Camargo | Molon| Pereira
  • 6.
    Python ● Iniciou em1990; ● Guido van Rossum: ○ Holandês; ○ Matemático e Cientista da Computação; ○ Criar uma linguagem de nível elevado; ○ Sintaxe simples e de fácil compreensão. ● Python Software Foundation http://www.python.org
  • 7.
    “O importante éusar Python” Dorneles Treméa
  • 8.
    Camargo e Tavares “ComPython, você só se preocupa com o problema” Luciano Camargo Cruz
  • 9.
    Python ● Por quecomeçar a usar Python? ○ Velocidade no desenvolvimento ○ Fácil de aprender ● Dá pra fazer tudo com Python
  • 10.
    Python - UCS ●Contratação da X3NG para o desenvolvimento do portal da universidade (Site): ○ Dorneles e Sidnei. ● Porta do CCET - 2003 - Plone - 5.000 usuários; ● Em 2007 virou o UCS Virtual - 2003 - Plone - 32.000 Pessoas; ● Utilização do Python em aula apenas por pessoas que trabalharam na UCS. ● Foi iniciado uma pesquisa para criar um empacotador de objetos de aprendizagem no padrão SCORM.
  • 11.
    Combat Biplanes ❏ SistemasDistribuídos e Computação Paralela ❏ Objetivo: desenvolver uma versão multiplayer do game Combat Biplanes, com comunicação através de sockets ❏ Solução: ❏ SocketServer para comunicação via sockets ❏ pygame para interface do game https://bitbucket.org/jtmolon/combatbiplanes
  • 12.
    Sniffer ❏ Redes deComputadores ❏ Objetivo: capturar e analisar pacotes de dados IPv6 e ICMPv6. Gerar relatórios com informações da amostra coletada ❏ Solução: ❏ netaddr, scapy ❏ cairo, cairoplot ❏ pygtk https://bitbucket.org/lccruz/sniffer
  • 13.
  • 14.
    Saving Robots ❏ ComputaçãoGráfica ❏ Objetivo: um robô deve recolher objetos espalhados dentro de uma arena. Em 2D e 3D ❏ Solução: ❏ pygame para interface 2D ❏ Panda 3D para https://bitbucket.org/jtmolon/combatbiplanes
  • 15.
    Demoucron ❏ Teoria dosGrafos ❏ Objetivo: verificar a planaridade de um grafo aplicando simplificações e algoritmos de teoria dos grafos ❏ Solução: ❏ Nenhuma biblioteca adicional https://github.com/matheper/demoucron/
  • 16.
    PyRO Checkers ❏ Sistemasdistribuídos e computação paralela ❏ Objetivo: desenvolver um jogo de damas distribuído, com comunicação cliente/servidor através de objeto remoto ❏ Solução: ❏ PyRO - Python Remote Object https://bitbucket.org/jtmolon/pyrocheckers
  • 17.
    ❏ Inteligência Artificial ❏Objetivo: Resolvendo o Sudoku com algoritmos genéticos ❏ Solução: ❏ Descrição dos operadores genéticos: ❏ Crossover: ❏ Os pais são selecionados atraveś do método do Torneio, é selecionado dois pais, com isso é efetuado o Crossover de um Cliclo. Sudoku https://bitbucket.org/lccruz/genetic.sudoku
  • 18.
    ❏ Solução: ❏ Mutação: ❏É escolhido um filho entre dois de forma randômica (choice), com esse filho é sorteado uma linha e é feito uma troca de posição entre os elementos da linha Sudoku https://bitbucket.org/lccruz/genetic.sudoku
  • 19.
    ❏ Solução: ❏ Execução,solução otíma: Sudoku https://bitbucket.org/lccruz/genetic.sudoku
  • 20.
    ❏ Sistemas Distribuídose Computação Paralela ❏ Objetivo: desenvolver um sistema de compartilhamento de arquivos utilizando sockets ❏ Solução: ❏ socket ❏ SocketServer ❏ threading Napster https://github.com/matheper/napster
  • 21.
    ❏ Formais eCompiladores ❏ Objetivo: desenvolver um Analisador Léxico e Sintático. ❏ Solução: ❏ Nenhuma biblioteca adicional Translator ctovisualg https://bitbucket.org/jtmolon/translator.ctovisualg
  • 22.
    Sound Collide ❏ ComputaçãoGráfica ❏ Objetivo: desenvolver alguma coisa para a matéria de computação gráfica. ❏ Solução: ❏ desenvolvido um software que produz audio quando colide com objeto, tudo é gerado aleatoriamente; ❏ pygame. https://github.com/lccruz/sound_collision
  • 23.
    Obrigado! ❏ Luciano CamargoCruz (luciano@lccruz.net) ❏ João Toss Molon (jtmolon@gmail.com) ❏ Matheus Pereira (matheper@gmail.com) https://github.com/lccruz/sound_collision