SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Pythonificando a Universidade

O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto ProieteComunidade NetPonto
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosRodrigo Senra
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonIP10
 
Projeto TCOS - III ENSOL
Projeto TCOS - III ENSOLProjeto TCOS - III ENSOL
Projeto TCOS - III ENSOLAécio Pires
 
Desvendando o python
Desvendando o pythonDesvendando o python
Desvendando o pythonRodrigo Lira
 
GSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestGSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestVictor Hugo Bilouro
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar pythonLourenço Junior
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias IncluídasJonh Edson
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoFelipeDi
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoWeldir Fernando Dias
 
Tela social tecnologia_aberta
Tela social tecnologia_abertaTela social tecnologia_aberta
Tela social tecnologia_abertaMarcio
 
Poco Bibliotecas C++
Poco Bibliotecas C++Poco Bibliotecas C++
Poco Bibliotecas C++Uilian Ries
 

Similaire à Pythonificando a Universidade (20)

O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
 
Hello, Python!
Hello, Python!Hello, Python!
Hello, Python!
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de Dados
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
Projeto TCOS - III ENSOL
Projeto TCOS - III ENSOLProjeto TCOS - III ENSOL
Projeto TCOS - III ENSOL
 
Desvendando o python
Desvendando o pythonDesvendando o python
Desvendando o python
 
GSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression TestGSoC tcptest - TCP/IP Regression Test
GSoC tcptest - TCP/IP Regression Test
 
Apostila_IC.pdf
Apostila_IC.pdfApostila_IC.pdf
Apostila_IC.pdf
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar python
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias Incluídas
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Raspberry Pi: o hardware para Python
Raspberry Pi: o hardware para PythonRaspberry Pi: o hardware para Python
Raspberry Pi: o hardware para Python
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Tela social tecnologia_aberta
Tela social tecnologia_abertaTela social tecnologia_aberta
Tela social tecnologia_aberta
 
Poco Bibliotecas C++
Poco Bibliotecas C++Poco Bibliotecas C++
Poco Bibliotecas C++
 

Plus de Matheus Pereira

Dask - Parallelism for Machine Learning with Python
Dask - Parallelism for Machine Learning with PythonDask - Parallelism for Machine Learning with Python
Dask - Parallelism for Machine Learning with PythonMatheus Pereira
 
Semantic Collaboration Trajectories in Communities of Practice ITS 2018
Semantic Collaboration Trajectories in Communities of Practice ITS 2018Semantic Collaboration Trajectories in Communities of Practice ITS 2018
Semantic Collaboration Trajectories in Communities of Practice ITS 2018Matheus Pereira
 
Desenvolvimento Ágil de Aplicações Web com Python e Django
Desenvolvimento Ágil de Aplicações Web com Python e DjangoDesenvolvimento Ágil de Aplicações Web com Python e Django
Desenvolvimento Ágil de Aplicações Web com Python e DjangoMatheus Pereira
 
Web Social e Interoperabilidade Semântica
Web Social e Interoperabilidade SemânticaWeb Social e Interoperabilidade Semântica
Web Social e Interoperabilidade SemânticaMatheus Pereira
 
N'SAMAT - Um objeto de aprendizagem culturalmente contextualizado.
N'SAMAT - Um objeto de aprendizagem culturalmente contextualizado.N'SAMAT - Um objeto de aprendizagem culturalmente contextualizado.
N'SAMAT - Um objeto de aprendizagem culturalmente contextualizado.Matheus Pereira
 
Stack Open Source para desenvolvimento do AoMercado
Stack Open Source para desenvolvimento do AoMercadoStack Open Source para desenvolvimento do AoMercado
Stack Open Source para desenvolvimento do AoMercadoMatheus Pereira
 
Pythonificando a Universidade 2
Pythonificando a Universidade 2Pythonificando a Universidade 2
Pythonificando a Universidade 2Matheus Pereira
 
Git, o Universo e Tudo Mais
Git, o Universo e Tudo MaisGit, o Universo e Tudo Mais
Git, o Universo e Tudo MaisMatheus Pereira
 
Desmistificando Built-in Functions, Lambda e List Comprehension...
Desmistificando Built-in Functions, Lambda e List Comprehension...Desmistificando Built-in Functions, Lambda e List Comprehension...
Desmistificando Built-in Functions, Lambda e List Comprehension...Matheus Pereira
 
Mantendo seu trabalho a salvo com git
Mantendo seu trabalho a salvo com gitMantendo seu trabalho a salvo com git
Mantendo seu trabalho a salvo com gitMatheus Pereira
 
Mantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e GitMantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e GitMatheus Pereira
 

Plus de Matheus Pereira (13)

Dask - Parallelism for Machine Learning with Python
Dask - Parallelism for Machine Learning with PythonDask - Parallelism for Machine Learning with Python
Dask - Parallelism for Machine Learning with Python
 
Semantic Collaboration Trajectories in Communities of Practice ITS 2018
Semantic Collaboration Trajectories in Communities of Practice ITS 2018Semantic Collaboration Trajectories in Communities of Practice ITS 2018
Semantic Collaboration Trajectories in Communities of Practice ITS 2018
 
Desenvolvimento Ágil de Aplicações Web com Python e Django
Desenvolvimento Ágil de Aplicações Web com Python e DjangoDesenvolvimento Ágil de Aplicações Web com Python e Django
Desenvolvimento Ágil de Aplicações Web com Python e Django
 
Web semântica
Web semânticaWeb semântica
Web semântica
 
Web Social e Interoperabilidade Semântica
Web Social e Interoperabilidade SemânticaWeb Social e Interoperabilidade Semântica
Web Social e Interoperabilidade Semântica
 
N'SAMAT - Um objeto de aprendizagem culturalmente contextualizado.
N'SAMAT - Um objeto de aprendizagem culturalmente contextualizado.N'SAMAT - Um objeto de aprendizagem culturalmente contextualizado.
N'SAMAT - Um objeto de aprendizagem culturalmente contextualizado.
 
Stack Open Source para desenvolvimento do AoMercado
Stack Open Source para desenvolvimento do AoMercadoStack Open Source para desenvolvimento do AoMercado
Stack Open Source para desenvolvimento do AoMercado
 
Pythonificando a Universidade 2
Pythonificando a Universidade 2Pythonificando a Universidade 2
Pythonificando a Universidade 2
 
Git, o Universo e Tudo Mais
Git, o Universo e Tudo MaisGit, o Universo e Tudo Mais
Git, o Universo e Tudo Mais
 
Desmistificando Built-in Functions, Lambda e List Comprehension...
Desmistificando Built-in Functions, Lambda e List Comprehension...Desmistificando Built-in Functions, Lambda e List Comprehension...
Desmistificando Built-in Functions, Lambda e List Comprehension...
 
Mantendo seu trabalho a salvo com git
Mantendo seu trabalho a salvo com gitMantendo seu trabalho a salvo com git
Mantendo seu trabalho a salvo com git
 
Mantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e GitMantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e Git
 
Git init
Git initGit init
Git init
 

Pythonificando a Universidade

  • 1. Pythonificando a Universidade Luciano Camargo Cruz 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 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
  • 7. “O importante é usar Python” Dorneles Treméa
  • 8. Camargo e Tavares “Com Python, você só se preocupa com o problema” Luciano Camargo Cruz
  • 9. Python ● Por que começ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 ❏ 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
  • 12. 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
  • 14. 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
  • 15. 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/
  • 16. 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
  • 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í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
  • 21. ❏ 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
  • 22. 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
  • 23. 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