Pythonificando a Universidade

23
Pythonificando a Universidade Luciano Camargo Cruz João Toss Molon Matheus Pereira

description

Multiplataforma, de fácil aprendizagem e alta produtividade, Python torna-se cada dia mais popular. Este trabalho procura abordar as principais características da linguagem e trazer um panorama de sua utilização nas universidades. A fim de demonstrar sua versatilidade serão apresentados trabalhos desenvolvidos no curso de Ciência da Computação da Universidade de Caxias do Sul, passando por implementações de grafos, redes, inteligencia artificial, sistemas distribuídos e computação gráfica.

Transcript of Pythonificando a Universidade

Page 1: Pythonificando a Universidade

Pythonificandoa UniversidadeLuciano Camargo Cruz

João Toss MolonMatheus Pereira

Page 2: Pythonificando a Universidade

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, …

[email protected]@__lccruz__

Page 3: Pythonificando a Universidade

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

Page 4: Pythonificando a Universidade

Matheus Pereira - matheper

Pesquisador e Desenvolvedor Python/Zope/Plone - Instituto Communitas e HaDiComProfessor - FTEC FaculdadesGraduado em Ciência da Computação - Universidade de Caxias do SulMembro da Plone FoundationOrganizador voluntário TcheLinux Caxias do Sul 2013;Palestrante nas horas vagas

http://www.matheper.com/

Page 5: Pythonificando a Universidade

Camargo | Molon | Pereira

Page 6: Pythonificando a Universidade

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

Page 7: Pythonificando a Universidade

“O importante é usar Python” Dorneles Treméa

Page 8: Pythonificando a Universidade

Camargo e Tavares

“Com Python, você só se preocupa com o problema”

Luciano Camargo Cruz

Page 9: Pythonificando a Universidade

Python

● Por que começar a usar Python?○ Velocidade no desenvolvimento○ Fácil de aprender

● Dá pra fazer tudo com Python

Page 10: Pythonificando a Universidade

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.

Page 11: Pythonificando a Universidade

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

Page 12: Pythonificando a Universidade

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

Page 13: Pythonificando a Universidade

Sniffer

https://bitbucket.org/lccruz/sniffer

Page 14: Pythonificando a Universidade

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

Page 15: Pythonificando a Universidade

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/

Page 16: Pythonificando a Universidade

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

Page 17: Pythonificando a Universidade

❏ 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

Page 18: Pythonificando a Universidade

❏ 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

Page 19: Pythonificando a Universidade

❏ Solução:❏ Execução, solução otíma:

Sudoku

https://bitbucket.org/lccruz/genetic.sudoku

Page 20: Pythonificando a Universidade

❏ 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

Page 21: Pythonificando a Universidade

❏ 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

Page 22: Pythonificando a Universidade

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

Page 23: Pythonificando a Universidade

Obrigado!

❏ Luciano Camargo Cruz ([email protected])❏ João Toss Molon ([email protected])❏ Matheus Pereira ([email protected])

https://github.com/lccruz/sound_collision