Dojo com Program-ME e Arduino na Globalcode – 10-12-09

Como diz o ditado: “antes tarde do que nunca”🙂

Com um pouco de atraso vou divulgar aqui algumas informações a respeito da minha participação no Dojo com Program-ME e Arduino, que aconteceu no dia 10 desse mês (a uma semana exatamente) na Globalcode (Unidade São Paulo). Por lá tive a felicidade de encontrar um companheiro de trabalho (Alex Moraes), que também é interessado em programação, novas tecnologias e participa do grupo de Ruby da Fatec-SP.

A questão é: o que é um dojo (mais precisamente coding dojo) ?

Vou usar como referência um texto retirado da página do Coding Dojo UFSC:

Segundo o http://codingdojo.org/: “Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se divertir, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo.”

O Coding Dojo tem algumas regras básicas:

  • Desenvolvimento guiado por testes: Antes de fazer qualquer implementação, deve ser escrito um teste, que ao passar indica que a implementação está correta.
  • “Passos de bebê”: Se um teste não está passando, você deve escrever o código mais simples possível que faça o teste passar. Quando for escrever um novo teste para o mesmo método, escreva um teste que teste só um pouquinho a mais da funcionalidade desejada.
  • Pair programming: A programação é feita em duplas. Cada dupla tem um piloto e um co-piloto. Ambos pensam em como passar no teste atual, mas só o piloto digita. Cada par tem por volta de 5 a 10 minutos no seu turno. Quando esse tempo acaba:
    • O piloto volta para a platéia
    • O co-piloto assume o lugar do piloto
    • Um novo co-piloto vem da platéia
  • Todos devem entender: O piloto e o co-piloto devem sempre explicar em voz alta o que estão tentando fazer para solucionar o problema. Qualquer um na platéia pode pedir explicações se não entender algum raciocínio.
  • Três fases: Um Coding Dojo sempre está em alguma dessas 3 fases, dependendo do estado dos testes:
    • Vermelha: Pelo menos um teste não está passando. A dupla da vez deve se concentrar em fazer o teste passar. A platéia não deve falar nessa fase, para não atrapalhar piloto e co-piloto.
    • Verde: Os testes acabaram de ser rodados e todos estão passando. Essa é a hora de quem está na platéia dar sugestões para melhorar o código.
    • Cinza: O código foi modificado de acordo com as sugestões, mas a bateria de testes ainda não foi rodada. Deve-se evitar fazer grandes modificações no código nessa fase.

Qual o objetivo desse codingo dojo (Retirado da página de notícias da Globalcode)?


Neste Dojo, os participante deverão implementar uma aplicação que simulará o antigo brinquedo eletrônico conhecido como Genius.A simulação deverá gerar as seqüências de cores usando LEDs para um jogador interagir fisicamente com aplicação através de botões coloridos para repetir a seqüencia aleatória apresentada. O algorítimo deverá então captar essas ações e identificar se a seqüência realizada pelo jogador está correta ou não.

Durante este evento, com a participação especial do Felipe de Almeida Rodrigues (Fratech, ou “cover” do Martin Fowler, rs) e pelo Alberto Spock Lemos (Dr. Spock), que participaram de um DOJO no Linguágil, você aprende aplicar TDD e Pair Programing ao revesar na escrita do código a cada 7 minutos com outros participantes. Portanto, o problema deverá ser resolvido “ao vivo”.

Participando,  voce aprende técnicas ágeis de desenvolvimento, uma linguagem de programação, conhece o Program-ME e o que é computação física.

A minha opiniao do evento

O meu interesse em participar desse minicurso veio da palestra “Robótica Open Source – Vinícius Senger & Paulo Carlos dos Santos”, que aconteceu no OpenTDC 2009, onde finalmente consegui ver ao vivo as coisas acontecendo. Planejo, em futuro próximo, adquirir um kit desses para “brincar”…rs.

Achei legal a experiência e primeiro contato com o Arduino e os meios de programação do mesmo. Os instrutores trouxeram uma nova maneira de “fazer minicursos”: não é só uma pessoa falando durante 3 horas seguidas de um assunto, sem haver interação com o pessoal. São as mesmas 3 horas de interação, diversão, mão-na-massa e descobertas de momento acerca do assunto que foi abordado. Esse foi o ponto principal: todos participaram e fizeram o minicurso! (até eu tive meus 14 minutos, como co-piloto e piloto🙂 )

Abaixo coloco algumas fotos tiradas por mim no evento (em algumas está Alex Moraes, no seu momento “co-piloto”):

Ao final do minicurso, Felipe e Dr. Spock disseram ao público que há a intenção de serem feitos mais dojos na Globalcode, de Arduino (é claro) e de outros assuntos. Portanto aguardem mais informações.

O Dr. Spock (que também escreve em seu blog sobre Arduino) já publicou dois artigos sobre esse dojo, inclusive com o código final gerado pelo pessoal do minicurso, alcançando o objetivo do projeto. Para conferir, acesse:

Bom, por enquanto é só e agradeço desde já aqueles que deram uma passada no meu blog e fizeram a leitura.

Até a próxima e aguardem as novidades!!

2 Respostas

  1. […] bem interessante, divulgado via LinkedIn pelo Rodrigo Yoshima, que contém uma lista unificada dos Coding Dojos que acontecem pelo […]

  2. […] Perto do final da tarde o Felipe Flores, com auxílio do Prof.º Ricardo Pires e Adilson Akashi, fez uma sessão/demonstração de gravação de bootloader em Arduinos. Caso você compre um chip da ATmel para Arduino você precisará gravar um setor de boot antes de inserir os sketches (programas finais). O pessoal nas primeiras reuniões fez a parte de montagem, e nessa reunião gravamos bootloaders, portanto muitos saíram com os Severinos prontos para uso Nas próximas reuniões acredito que entraremos de vez no modo programacional. Podemos fazer sessões de DOJO […]

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: