Mostrando postagens com marcador python. Mostrar todas as postagens
Mostrando postagens com marcador python. Mostrar todas as postagens

segunda-feira, 18 de julho de 2011

Coding Dojo @ Área1 - python em 16/07/2011

Para dar início às atividades da recém-criada célula de python na AREA1, o grupy-ba realizou um coding dojo para apresentar a linguagem a novos interessados.
Antes de iniciarmos o dojo, poucas pessoas afirmaram já conhecer a sintaxe. Eu e LC escolhemos o mesmo desafio do último dojo de python realizado na UFBA, Calculadora Romana. Esqueci novamente os post-its e a retrospectiva foi direto no projetor. Desta vez, ninguém reclamou do tempo; e LC observou que foi o dojo de python com maior número de participantes. Acredito que foi por conta da divulgação ter começado antes do São João, em junho. Que venham os próximos :-)

Agenda planejada:
  • 09:00 - 09:30 : Slides coding dojo + slides sintaxe python
  • 09:30 - 09:40 : Apresentação do problema
  • 09:40 - 10:45 : Mão-na-massa
  • 10:45 - 11:00 : Retrospectiva do coding Dojo
Agenda realizada:
  • 09:20 - 10:00:  Slides coding dojo + apresentação da sintaxe python (interpretador e comentários)
  • 10:00 - 10:05:  Apresentação do problema - Calculadora Romana
  • 10:05 - 11:15:  Mão-na-massa
  • 11:15 - 11:45 : Retrospectiva do coding Dojo + bate-papo sobre python e grupy-ba.
Presentes:
  • Luiz Cláudio (linguagil, grupy-ba)
  • Nadilson (grupy-ba)
  • Arllen 
  • Marcos
  • Victor (grupy-ba)
  • Jota Bê
  • Arlindo
  • Ney Azevedo
  • Paulo (grupy-ba)
  • Guilherme
  • Franey
  • Maurício Vieira (linguagil, grupy-ba)

Pontos fracos:
  • ide ao invés de gedit
  • introdução + formal ao python
  • baby steps não foi seguido à risca (testes não foram seguidos)
  • faltou definir ordem de piloto/copiloto
Pontos fortes:
  • não há pressão para os participantes fazerem certo
  • interação
  • novos participantes
  • quantidade de pessoas
  • prática de métodos ágeis (programação por par, TDD)
  • forma prática de se iniciar na linguagem
  • simplicidade da linguagem
  • participação foi boa: idéias de pessoas diferentes contribuiram para a solução
  • permitir que estudantes de outras universidades participem
Código:


Fotos:



quinta-feira, 9 de junho de 2011

Dojo@UFBA #3 em 08/06/2011 - python

Na sequencia de dojos na turma de Paradigmas e Linguagens de Programação de 2011.1, em 08/06/2011 foi a vez da linguagem Python. Eu e Luiz Cláudio (ambos do GruPy-BA e do LinguÁgil) apresentamos uma introdução à linguagem. Em seguida, eu expliquei brevemente o problema: calculadora romana, um kata listado no site original do Coding Dojo.

O ambiente usado foi o gnome, uma janela do gedit aberta e uma janela de terminal para rodar os testes na linha de comando. Os alunos chegaram a um consenso bem rapidamente sobre a forma de atacar o problema. Para saber como foi, veja o código versionado no repositório do dojo-bahia ;-). O professor Manoel e Luiz Cláudio interferiram com sugestões durante as pilotagens.

No fim, dois alunos (TODO: atualizar os nomes) tomaram a frente e fizeram a retrospectiva no quadro. A turma gostou da linguagem.O que achei engraçado, desta vez, foi o número de participantes que escreveu, literalmente, "Desafio interessante", heheh. Parece até que combinaram. Além disto, como o problema foi algorítmico, a conversa da platéia foi intensa e isto pode ter atrapalhado um pouco. No fim, não conseguimos resolver o problema todo (como pode-se ver ao rodar o código), mas acredito que a experiência agregou bastante por eles estarem exatamente no meio do curso de Ciência da Computação.

:D
  • Desafio legal. Linguagem dinâmica. Melhor participação.
  • PYTHON \o/. Desafio interessante
  • Sintaxe simples e limpa. Desafio interessante.
  • Primeira experiência python. Desafio desafiador.
  • Produtivo. Análise de um problema novo. 
  • Aprendizado de uma nova linguagem (mesmo que parcialmente).
  • Python. Bom desafio.
  • Python! TDD em python.
  • Pessoas mais participativas. Desafio muito bom/estimulante. Tempo melhor aproveitado.
  • Desafio interessante
  • Python é um ponto positivo!
  • Linguagem dinâmica. Desafio legal.
  • Problema compatível com o tempo do dojo. Linguagem simples.
:(

  • Alguns molugadores (?) ainda estão conversando baixo
  • Tempo
  • (vazio)
  • Falha de segmentação!
  • O pessoal participou menos como piloto!
  • Muita gente discutindo a solução em grupos paralelos
  • Pouco conhecimento da linguagem.
  • Tempo curto. Dojô começou tarde.
  • Pouco conhecimento de detalhes da linguagem.
  • Tempo curto. Processo de teste confuso (uma vez, nas condições ideais, não dificulta o bom andamento do Dojo)
  • -1 e 3000
  • Conversas individuais
  • O desafio poderia ser mais divertido

Fotos:











sábado, 4 de junho de 2011

Dojo Google App Engine Python @ Apimenti sábado 04/06/2011

O que?
Coding Dojo de python: Google App Engine + web.py. 

Por que?
Disseminação das tecnologias web.py e Google App Engine.

Quando?
04/06/2011, das 10h às 13h


Onde?  


Preparação?
Foi feita uma enquete para levantar o número de pessoas com intenção de participar, pois a empresa tem um espaço limitado para 15 pessoas.

Agenda planejada?
Segundo o anúncio inicial:
09:30 - 09:55 : Slides coding dojo + nivelamento python (se necessário)
09:55 - 10:00 : Apresentação do problema
10:00 - 11:45 : Mão-na-massa
11:45 - 12:00 : Retrospectiva, pedido da pizza.
12:00 : Pizza!

Agenda realizada? 
As atividades começaram por volta das 10:30
30' - Apresentação de coding dojo
30' - Apresentação do web.py e Google App Engine para Python
2' - Explicação do problema
70' - Dojo (duas rodadas de 5 minutos para as 7 pessoas)
3' - Publicação no google app engine
15' - Retrospectiva (não houve post-it. cada um digitou os pontos positivos e negativos diretamente no blogspot)

Quem participou? 
  • Luiz Cláudio (grupy-ba)
  • Jailson Brito (apimenti)
  • Ivan Rocha (apimenti)
  • Rafael Ávila (apimenti)
  • Maurício Vieira (grupy-ba)
  • Vinícius Vollrath (grupy-ba)
  • Thiago Colares (apimenti)

Qual foi o desafio?
A idéia inicial era aprender multitenancy. Para isto, idealizou-se uma aplicação de pesquisas inspirada no http://twtpoll.com. Há uma página para cadastro das questões, uma para o usuário responder às perguntas, e uma com o relatório das respostas.


E o multitenancy?
O desenvolvimento desta aplicação será continuado no github. Se tiver interesse em aprender mais, participe do grupy-ba.

O que aprendemos?

Pontos positivos :-)
  • Diversão. Participação de mais uma empresa no circuito de coding-dojos. Aplicação publicada e funcionando ao fim do dojo.
  • Oportunidade de programar em Python e conhecer a Google App Engine
  • Aumentar a rede de contatos
  • Bastante interação entre piloto, co-piloto e plateia
  • Conhecimento de novas tecnologias
  • Pizza!
Pontos de melhoria :-(
  • Planejamento não funcionou, porque as apresentações demoraram bastante. Algumas pessoas que se propuseram a vir, não compareceram. Não usou TDD.
  • 5' não dá para brincar.
  • Houve um atraso no começo e tivemos que utilizar uma máquina não planejada
  • Os baby steps estavam um pouco longos
  • Falta de conhecimento do GAE (exemplo: buscar uma pergunta pelo seu ID)
  • Atraso de alguns participantes. Máquina improvisada não abria slides em tela cheia.
Teve slides?
Sim. Foram apresentados os slides Coding Dojo em 5 minutos por Maurício Vieira, e Usando python na Google App Engine por Luiz Cláudio.

E fotos?




Piloto e copiloto da vez. E platéia ajudando.

Vinícius e Rafael

Luiz Cláudio (LC), Ivan, e Jailson.

Ivan e Thiago no comando. LC observando.

LC e Ivan no comando. Jailson só olhando...
Queixo: funciona até no iPad! Hehehe.

Autores. Só faltou LC, que teve que sair antes.

Collective ownership: meu código funciona!
Cadê esse código todo? O código está no Google Code.
Então, mostre-me a aplicação!  http://pesquizza.appspot.com

sexta-feira, 1 de abril de 2011

Relato do Dojo@SERPRO: Python GAE + web.py - 01/04/2011

O que?
Coding Dojo de python: Google App Engine + web.py


Por que?
Passos iniciais nas tecnologias web.py e Google App Engine

Quando?

01/04/2011, das 10h as 12h

Onde?
 
SERPRO - Av. Luis Viana Filho, Salvador-BA

Como foi a agenda?
40' - Apresentação da linguagem Python
20' - Apresentação do web.py e Google App Engine para Python
2' - Invenção do problema
45' - Dojo
5' - Retrospectiva

Quem participou? 

 Luiz Carlos (grupy-ba), Maurício, Marlon, Serge, Alexsandro, Luciano, Gustavo, Torres

Qual foi o desafio?

Criar uma brincadeira de 1º de Abril. Cadastro de frases tidas como verdadeiras ou falsas, e posterior pergunta para o usuário final, se aquela frase lhe parece verdadeira ou falsa. Por fim, a aplicação deve mostrar uma estatística do que as pessoas acharam de cada frase.

O que aprendemos?


Pontos positivos :-)
  • Indentação (obrigatória) da linguagem
  • Oportunidade de aprender
  • Uso de aplicação funcionando como exemplo
  • Exemplo legal
  • Bom nível dos presentes
  • Brinde do Comitê de Software Livre do SERPRO (camisetas do Campus Party)
Pontos de melhoria :-(
  • Pouco tempo (3x)
  • "Perdeu" tempo com explicações de Python e GAE
  • Faltou planejamento
  • Não usou TDD nem slides
Teve slides?
Não.

E fotos?



Então, mostre-me o código! O código está no Google Code: http://code.google.com/p/dojo-bahia/source/browse/#svn%2Ftrunk%2Fprimabril

quarta-feira, 13 de outubro de 2010

Dojo#5: Campo Minado (Python)

O que?
Coding-Dojo #5

Por que?
- Porque as pessoas cada vez gostam mais dessa metodologia de treinamento. Cada dojo que fazemos aparecem pessoas novas que não estiveram no dojo anterior, divulgando mais ainda a metodologia. Percebemos uma melhora significativa no desenvolvimento orientado a testes (TDD).

Quando?
11/08/2010, das 10 as 12h

Onde?
Serpro, Sala de Treinamento 06, 1o andar

Como foi a agenda?
10' - Visão geral sobre Dojo
5' - Apresentação do desafio
60' - Programação em pares, rodízio a cada 5 minutos, comentários só com teste passando
30' - Retrospectiva

Quem participou?
Mario, Márcio,Thiago, Cleverson, Marlon, Luis Gustavo, Igor, Serge, Douglas, Gabriel, Alex, Otávio (Área 1), Luis Apodi, Eduardo, Giselia, Jorge ...


Qual foi o desafio?

O Campo Minado, simplificado para tabuleiro de 5x5 com 3 bombas pré-colocadas.

Em qual linguagem?
Python, com PyUnit, gedit e linha de comando!

O que aprendemos?
Pontos positivos :-)
-A comunicação dos pilotos foi boa
-Desta vez quase todos participaram
-Mais uma linguagem aprendida
-Os participantes estão mais maduros nas práticas do coding-dojo
-A solução foi boa, pois exigiu raciocinio
-A colaboração foi muito boa
-A delimitação do escopo foi bem legal, pois focou as pessoas em TDD, programação em par e refatoração
-O número de participantes foi adequado
-A linguagem utilizada é fácil
-O problema proposto foi interessante e simples
-A linguagem Python é legal
-O uso de testes quebrou o conceito aprendido na faculdade
-Boa parte dos requisitos foram cumpridos

Pontos de melhoria :-(
-Ainda está faltando disciplina nos comentários da plateia
-Mais disciplina no TDD
-Ainda não atingimos a refatoração realmente
-Focamos no problema e esquecemos de explorar os recursos da linguagem, como por exemplo, o tratamento de exceções
-A plateia estava muito ansiosa, por isso houveram muitos palpites fora de hora
-Ainda precisamos nos adaptar melhor ao Dojo
-Muita conversa paralela atrapalhou um pouco a resolução do problema
-Pouco tempo

Teve slides?
Sim, os mesmos dos Dojos anteriores, só que desta vez apresentados por Thiago Mariano, para explicar os conceitos gerais sobre Coding-Dojo. Veja e ouça o SlideCast abaixo ou então baixe o PDF.

Referencias adicionais
Usamos algumas dicas para melhor aplicar o uso de TDD:
  1. Sempre inicie com uma lista de testes
  2. Sempre inicie pelo teste mais simples :
  3. Comece a construção do seu código pela construção do seu teste
  4. Comece o teste pela assertiva
  5. Simule até construir realmente
  6. Busque o verde o mais rápido possível
  7. Construa somente o necessário para o teste passar
  8. Passos de bebê
A referencia foi esse post, que detalha as dicas e ainda tem um vídeo legal mostrando TDD na prática:
http://www.heroisdati.com/tdd-para-iniciantes-para-quem-quer-comecar-e-nao-sabe-como/

E fotos?



Então, mostre-me o código!

Veja aqui o código que conseguimos produzir.


Você quer comentar
(edita/salva e coloca também seu nome)?
Ainda acho que poderíamos tentar diminuir o problema ou "fatiar" o problema para tentarmos resolvê-los dentro do período do Dojo. Assim, caso seja em partes, podemos ter uma sensação de conclusão (gera maior satisfação), podemos aplicar refatoração mais pesada, podemos disseminar a idéia de entregas parciais e ter um produto maior ao final, um produto completo. Fica a dica!
Márcio Albuquerque. 13/08/2010