SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a Pythonificando a Universidade

O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
Átila Bezerra
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
ricobl
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
FelipeDi
 

Similar a 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++
 

Más de Matheus Pereira

Más 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
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

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