Na última quinta-feira, dia 2 de setembro, aconteceu o 14º encontro do nosso Coding Dojo UFSC. Tem gente que diz que o número 13 traz coisas boas, outras dizem que traz coisas ruins… Pro caso do Coding Dojo tal místico número trouxe AMBOS os efeitos
Primeiro, o ruim: como sempre, nós, responsáveis organizadores, providenciamos a reserva de uma sala de aula no CTC para o Dojo, com uma semana de antecedência. A secretaria do centro assinou em baixo da requisição – literalmente – dizendo que a sala estava livre e era nossa. Qual foi a surpresa ao ver, NO MEIO DO DOJO, a entrada de um inocente professor desavisado, pronto a dar aula naquela sala, como SEMPRE FEZ… Errar é humano, você pode dizer. Sim, é mesmo; mas como esse erro já é quase uma “tradição” eu acho que falta um pouquinho de treinamento pro “reservador” de salas. Como diria Jerry Seinfeld: “O importante não é FAZER uma reserva. Qualquer um pode fazer reservas… O importante é SEGURAR uma reserva” What is a reservation
A parte boa foi maior, o problema que escolhemos pra resolver nesse dojo foi legal, a interação entre os participantes foi boa e o código ficou bonito (fantasticamente bonito). O nosso problema escolhido foi o Cellular Automata, do Ruby Quiz. Um autômato celular é uma espécie de “tabuleiro”, onde cada casa possui um estado, e tal estado muda de acordo com poucas regras bem simples. Mesmo assim a evolução de um autômato pode ser muito interessante – e bonita
No caso específico do problema que escolhemos resolver, tratava-se de autômatos unidimensionais; o tabuleiro que evolui é linear. A entrada do nosso algoritmo é um estado inicial desse tabuleiro, junto com uma string binária que descreve a regra de evolução do autômato. A tarefa que nosso algoritmo devia fazer é bem simples: executar um passo do autômato, de acordo com a regra dada, e colocar na saída o “novo” tabuleiro. Na verdade o problema foi até simples demais… Conseguimos terminá-lo e ainda sobrou tempo para fatorar e incrementar a solução. Nossa solução pode fazer não apenas um, mas n passos de execução do autômato. Veja com os próprios olhos, aí vai o código:
Coding Dojo 2010-09-02: Autômatos Celulares
A retrospectiva teve os seguintes pontos identificados:
Bons:
- Problema bom/legal
- Conseguimos acabar a resolução
- Código ficou legível e conciso
- Boa interação entre os participantes
Ruins:
- Reserva da sala não funcionou direito (mais uma vez)
- Problema ficou pouco definido antes de começar a programação
- Problema muito curto/fácil
- Python reclamou muito das indentações :]
Até o próximo Dojo então! Já está marcado pra quinta-feira, 16 de setembro, às 18h. Ainda falta definir melhor o lugar, de preferência um que esteja REALMENTE livre, então iremos comunicar o local quando chegar mais perto da data, através de todas as listas de e-mails possíveis. Também através do site do PET Computação, claro. Se você usa o Google Calendar, e quer acompanhar tranquilo quando e onde vão acontecer todos os nossos encontros, pode adicionar o calendário dos Dojos na sua agenda, é só clicar aí embaixo:
