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.
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/
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
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
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