DojoRio@Niterói – 27/05/2010

sábado, 29 maio 2010

Galera,

Rolou nessa última quinta-feira mais um DojoRio@Niterói lá na nossa queria UFF. O Dojo contou novamente com a presença em massa dos calouros do curso e também com novos convidados de outros períodos. Foi uma sessão bem especial, não só por todas os calouros que estiveram presentes, mas também pelas reflexões que elas nos gerou. Para saber mais sobre isso, leia esse post do Vinícius Teles falando sobre o pensamento comum que pairou na cabeça da maioria depois dessa quinta-feira.

A única coisa que faltou o Vinícius dizer foi o fato de termos descoberto um Certfied Blaze Master no pessoal. Não vou citar nome para não deixar as pessoas constrangidas… Como o Vinícius já falou bastante de como foi a sessão e dos resultados que ela obteve, vou me restringir a listar os presentes em mais um recorde. Estavam presente essas 26 pessoas:

Como pontos positivos o pessoal citou:

  • A refatoração
  • O pessoal participando mais
  • Aprender novas linguagens
  • Aprimorar o raciocínio
  • Foi produtivo
  • Ter começando no horário
  • Aprendizado de novos conceitos e estrutura de dados
  • Terem levado comida
  • Vir com um problema já proposto
  • Testes te darem segurança para o desenvolvimento
  • Os calouros continuarem participando e os novos frequentadores
  • Ter sido em Javascript
  • A interface do Jsspec
  • A criação de mais um Dojo
  • A superlotação dos Dojos de Niterói e do Rio
  • Familiarizar-se com diferentes linguagens
  • Ganhar bons hábitos de programação
  • Ser 0800
  • Pessoas programando pela primeira vez no Dojo
  • Problema simples e real
  • Ter colocado o tempo para 4 minutos
  • Os aplausos após a refatoração
  • Muito debate
  • Oportunidade para os calouros
  • Usar o quadro de giz
  • A Luciana estar presente para tentar levar o Dojo para a Medicina
  • O ar condicionado

O que ficou para ser melhorado foi:

  • Falar mais alto quando estiver como piloto ou co-piloto
  • Várias mudanças no fluxo do raciocínio
  • Não deu para todos programarem
  • Muita conversa na platéia
  • Senhora Justen não programou
  • Não teve apresentação das pessoas
  • Dinâmica lenta
  • O tempo passar muito rápido
  • O horário
  • Cansaço de alguns
  • O plugin de completar as aspas, parênteses e chaves
  • Não adicionaram algumas pessoas ao grupo do DojoRio
  • Algumas pessoas não poderem ir ao pós-dojo
  • Por que não tive Dojo quando era calouro?
  • A comida distraiu o pessoal
  • Ter sobrado comida
  • Pessoal do canto retendo a comida
  • Faltou orientação a objetos
  • Arrumar mais cadeiras para a sala
  • Algumas pessoas que confirmaram que vinham e faltaram
  • As mesas no meio da sala
  • A separação da galera entre calouros de um lado e “veteranos” de outro
  • Perda de foco no final
  • Programar com o DojoTimer aberto
  • Ar condicionado esfriou muito
  • Uso do Javascript
  • O Henrique Bastos e sua empolgação não estavam presentes

Deixaram como sugestões:

  • Usar o Vi como próximo editor de texto
  • Usar Python novamente em um próximo Dojo
  • Fazer em uma linguagem nova
  • Fazer em alguma linguagem mais antiga como COBOL
  • Usar alguma coisa de banco de dados
  • Fazer mais publicidade do grupo
  • Conseguir uma sala maior
  • Fazer o código em inglês
  • Usar um mouse maior
  • Fazer algum Dojo em PHP
  • Fazer algum Dojo em Perl
  • Fazer algum Dojo em C

Vale a pena reparar que essa galera nova tem uma sede por conhecimento muito grande. Isso é notável pelo número de sugestões de linguagens e ideias para serem implementadas no próximo Dojo. Para os que não estão indo à UFF, estão perdendo uma pequena revolução que esses calouros estão fazendo. Sorte nossa poder ver isso de perto. Para quem quer ver o código, ele está nesse repositório do Github. Em breve coloco no repositório do DojoRio no GoogleCode.

Até a próxima,

Bernardo Fontes

Anúncios

Coding Dojo em Três Rios

terça-feira, 25 maio 2010

No sábado passado fui a Petrópolis na PythOnCampus que aconteceu no LNCC, onde palestrei sobre software livre e Arduino. O evento foi sensacional – depois dele, de passagem comprada, fui para a rodoviária pegar ônibus para Três Rios, minha cidade natal.

Em Três Rios estavam me esperando a coordenadora do curso de Tecnologia em Sistemas de Computação do CEDERJ de Três Rios, Isabel Hortência, e alguns de seus alunos para a primeira sessão de Coding Dojo da cidade! Antes de começarmos, fiz uma pequena apresentação sobre Coding Dojo e Python. Não preciso nem comentar que o encontro foi sensacional.

Isabel Hortência e seus alunos do CEDERJ

Isabel Hortência e seus alunos do CEDERJ

Como utilizamos a linguagem Python, os alunos, obviamente, ficaram interessados em fazer uma PythOnCampus lá (vontade minha de alguns meses), então já marcamos – faremos no semestre que vem. O problema que resolvemos foi o clássico Fizz Buzz, problema simples porém perfeito para uma primeira sessão de Coding Dojo.

Alunos do CEDERJ Três Rios programando no Coding Dojo

Alunos do CEDERJ Três Rios programando no Coding Dojo

Apesar de a galera não ter registrado em papel a retrospectiva, todos comentaram o que acharam bom e o que podemos melhorar:

O que foi bom

  • Python é uma ótima linguagem;
  • Dojo é bom pra aprender a compartilhar o código com os outros;
  • Apesar de o problema ter sido bem simples, foi muito bom para mostrar a dinâmica e explicitar os problemas que podem acontecer quando se desenvolve software em equipe;
  • A experiência foi legal para relembrar alguns conceitos e exercitar lógica de programação;
  • Ninguém além de mim (Álvaro) sabia Python, porém a galera foi fazendo tudo naturalmente sem parenteses, sem “end if” etc. sem nem perguntar. Foi sensacional ver como a linguagem é intuitiva e como é fácil aprender a programar dessa forma.

O que podemos melhorar/Compromissos

  • Não conseguimos clonar a tela do datashow para o monitor, piloto e copiloto ficaram de lado para a plateia e tendo que olhar para o projetor, que ficou meio longe – temos que aprender a configurar o datashow corretamente;
  • Isabel não programou – da próxima sessão ela não escapa!;
  • Alguns precisaram sair cedo (antes mesmo de começarmos a programar) – as próximas sessões serão em um horário melhor para todos;
  • Ficamos programando durante pouco tempo – nas próximas sessões não teremos apresentação, então conseguiremos ficar mais tempo;
  • Não fizemos a retrospectiva “em papel” – fazer na próxima sessão.

Os alunos já se organizaram e farão outros encontros regularmente – sempre que estiver em Três Rios me juntarei a eles. 🙂 É importante ressaltar que tudo isso não teria acontecido e não daria prosseguimento se não fosse a professora Isabel Hortência, que está sempre incentivando os alunos a ir além e preparou a casa para a gente. E assim nasce mais um fork do DojoRio com o intuito de trocar conhecimento e aprender a programar direito. Missão cumprida!



Álvaro Justen – Turicas


Dojo UENF [6]

terça-feira, 25 maio 2010

No dia 18/05/2005 rolou o mais um Dojo UENF. Seguindo com a experiência do ShuryoKata, continuamos o problema do Dojo passado, o jogo de dominó.

Primeiro, em menos de 4 minutos, fizemos uma pequena retrospectiva sobre a implementação feita no Dojo anterior. Foi bom para quem não olhou o código antes de vir para o Dojo, dar uma relembrada e os dois participantes que não vieram ficarem situados.

Como tinham ficado dúvidas (dublês e exceção) do Dojo passado, a primeira coisa a ser feita foi colocar em prática o que aprendemos. Vimos que ainda não havia necessidade de utilizarmos dublês, mas fizemos ser levantada uma exceção na tentativa de se criar um dominó com menos de 2 ou mais de 4 jogadores.

Chegamos a conclusão de que realmente deveria existir uma classe peças, já que agora além de características, peça tinha comportamento. Assim, criamos essa classe e tivemos que fazer um refactoring legal.

Participantes

Retrospectiva

🙂

  • O problema está ficando mais legal
  • Participação da galera foi boa
  • Matamos as dúvidas do dojo passado

😦

  • Galera falando muito quando teste estava quebrado
  • Gedit mal configurado (Hugo tinha acabado de formatar o note e esqueceu de configurar o gedit no afterFormat)

Percebemos que ao crescer, o problema está ficando cada vez mais interessante, o design evolutivo está sendo maneiro e o refactoring está comendo solto.

Legal também foi ver que o pessoal que não estava no Dojo anterior conseguiu se situar bem e rápido, mesmo não tendo passado o olho no código antes.

Por enquanto a experiência esta sendo bem legal!

É isso ai! Até o próximo Dojo e rumo ao hexa!

[]’s


DojoRio@Niterói – 20/05/2010

segunda-feira, 24 maio 2010

Galera,

Rolou nessa última quinta-feira mais uma sessão de Coding Dojo na UFF. Essa sessão foi muito interessante porque contou com a presença de vários calouros! Eles foram incentivados a participar do Dojo devido às apresentações que eu e o Andre Oliveira fizemos em uma das aulas deles para falar sobre o DojoRio, #horaextra, PythonCampus e tudo mais. Olha um vídeo que o Henrique Bastos fez de todo mundo:

Como tinha muita gente nova, o problema que nós escolhemos foi o do FizzBuzz. O problema andou bem e caímos em uma questão interessante em um momento. Foi proposta uma refatoração, mas quando ela começou a ser feita, começou de maneira confusa e, no final de tudo, acabamos “refatorando” e deixando o código da mesma maneira que estava antes da “refatoração”. Isso mostra que a refatoração não é algo que deve ser tratado como apenas uma “limpeza de código”. Ela deve ser tratada com cuidado para que a limpeza não venha a resultar só em bagunça. Afinal, de que adianta um quarto limpo, mas bagunçado?

Haviam 24 pessoas nessa sessão! Recorde! Segue a lista:

Os pontos positivos que o pessoal levantou foi:

  • Os calouros comparecerem em massa
  • A apresentação feita por cada um antes de começar
  • Sugestões diversas
  • Sutilezas na refatoração
  • O pessoal novo suando para resolver o problema
  • Muita gente!
  • A sala fixa
  • O pessoal falou alto para expor as ideias
  • O problema
  • O conhecimento compartilhado
  • Ter a chance de aprender uma linguagem nova
  • Ter sido em Python
  • Usar Python no ensino
  • Os “gurus” de Python ajudando
  • O pessoal das antigas é receptivo, engraçado e paciente
  • As opiniões dos mais experientes
  • O respeito dentro do grupo
  • Não ficar nervoso mesmo lá na frente
  • Desenvolver melhores técnicas para programar
  • O modo como o Dojo é feito ajuda no ensino de programação
  • Explicações iniciais muito boas
  • Resolver o problema
  • Usar TDD com Baby Steps
  • Várias pessoas programando
  • Pair Programming
  • Consegue-se aprender muito
  • Fandangos grátis
  • Vários calouros querem voltar!!!

Os pontos a serem melhorados foram:

  • Não deu para todos programarem
  • O horário é tarde
  • Podemos pedir uma pizza?
  • Faltou comida e bebida
  • O código ficou em português
  • O Fandangos rolando na mão da platéia atrapalhou
  • Mini-mouse
  • Usar como um tipo de semáforo (não usamos o dojotools)
  • Faltaram cadeiras
  • O tempo de 5 minutos ficou muito grande
  • Ficar um pouco perdido com o código
  • As mesas ficaram atrapalhando o caminho
  • Poderíamos ter feito mais 1 problema
  • Poderia ter sido mais rápido
  • Pitacos do Certified
  • Não ter café

Ficou de sugestão:

  • Voltar com o hábito de levar comida ao Dojo
  • Diminuir o tempo para 4 minutos
  • Fazer introduções sobre conceitos de programação
  • Os calouros participarem dos outros eventos
  • Continuar programando em Python para os iniciantes aprenderem mais
  • Fazer o próximo em Java
  • Fazer o próximo Pascal
  • Fazer o próximo Ruby

Vale a pena ressaltar que todas as sugestões de linguagens para serem usadas nas próximas sessões foram dadas pelos calouros. Então, temos um pessoal novo e com desejo de aprender novidades. Além disso, eles já estão se organizando para começarem um dojo deles. É esse o espírito galera!

Até a próxima quinta-feira,

Bernardo Fontes


DojoRio@Niterói – 13/05/2010

domingo, 16 maio 2010

Estamos aqui, novamente para relatar como foi o último encontro do pessoal no DojoRio@Niterói. Bem, esse encontro foi marcante por ter sido o primeiro encontro na nossa nova sala oficial. Depois de muito lutarmos e discutirmos conseguimos, com o apoio do professor Leonardo Murta, a nossa tão sonhada sala. Agora, em toda quinta-feira nós temos a chave da sala 230-B do bloco D, no campus da Praia Vermelha, na UFF para utilizarmos como infraestrutura para a nossa sessão semanal.

Nesse último encontro estiveram presentes os velhos participantes assim como alguns novos. Então, segue a lista dos que compareceram:

O problema que nós escolhemos foi, por termos novos participantes, a conversão de números inteiros para números romanos. Um problema amplamente conhecido mas que nos levou a grandes discussões. Segue agora os pontos positivos que foram levantados::

  • A sala nova;
  • A estrutura da sala nova que contava com várias mesas e cadeiras, dois quadros, o próprio espaço da sala e ar condicionado;
  • Poder receber novas pessoas no Dojo;
  • Ter sido em Java;
  • A apresentação que foi feita antes para explicar para os novos participantes o que é o Dojo e a nossa filosofia;
  • A prática de TDD com baby steps e as metodologias que desenvolvemos no Dojo para encontrar as soluções;
  • A interface de testes provida pelo NetBeans;
  • O tamanho do problema que cabe perfeitamente em uma sessão de Dojo. Isso porque nós conseguimos desenvolver bastante o problema;
  • Iniciar a sessão com um problema já proposto;
  • O Vinícius ter voltado ao Dojo;
  • Termos expulsado uma professora da sala;
  • A refatoração e o uso de recurção deixou o código com uma forma muito boa para se trabalhar;
  • Aprender novos conceitos em função das discussões que foram levantadas;

Os pontos que foram citados como a serem melhorados foram:

  • O barulho externo que vinha dos corredores da UFF e da sala ao lado;
  • Não conhecer a arquitetura da sala;
  • A falta de várias pessoas que foram convidadas no próprio dia a participar do Dojo;
  • A falta de “figurinhas carimbadas” do Dojo de Niterói;
  • O hábito de não levarmos mais comida;
  • O tempo passar muito rápido;
  • Teclado no Mac para os novos participantes;
  • Não termos feito em Javascript como era o combinado;
  • Preconceito contra Java;
  • O pós-dojo ficou vazio com pouca gente;
  • O processo se tornar lento demais;

As sugestões vieram, em sua maioria, em função de não conhecermos a nova sala. Então, a maioria das propostas foram para condicionar ainda mais a sala para as nossas sessões. Sendo assim, as sugestões foram:

  • Levar um apagador e pilots para a próxima reunião;
  • Levar uma extensão para posicionarmos melhor o projetor;
  • Usar Javascript na próxima sessão;

Em suma, esse Dojo foi o primeiro passo para nós podermos contar com uma sala para poder chamar de nossa. Foi excelente poder contar com um espaço em que nós, mesmo que por um pedaço de tempo, somos os donos. Acredito que agora, com a volta do DojoRio@Niterói para o campus da Computação, possa vir a trazer novos participantes para as nossas sessões.

Até a próxima,
Bernardo Fontes


Dojo UENF [5]

domingo, 16 maio 2010

No dia 11/05/10 aconteceu o quinto Dojo UENF. Sempre seguimos o RandoriKata, mas desta vez propus algumas mudanças, o pessoal achou legal, e fizemos um Dojo diferente. Decidimos que vamos fazer o teste de usar esse formato de dojo como experiência. Se ficar legal continuamos a utilizá-lo, se não, voltamos a fazer o RandoriKata tradicional.

Continuamos com ruby e escolhemos fazer o jogo de dominó. Começamos definindo as regras do jogo, sem muitos problemas. Foi levantada a questão de criar uma classe peça ou não, e chegamos ao consenso de que a classe peça só teria características e não teria comportamentos, o que não caracteriza uma classe. Em um momento, pensamos em fazer um stub, mas não sabíamos como fazer. Decidimos criar o objeto real para darmos continuidade e refatorar na próxima sessão. Como fazer dublês em Ruby entrou na lista de dúvidas.
De acordo com as regras, um jogo de dominó só existe se tiverem no mínimo 2 e no máximo 4 jogadores. Decidimos então que ao instanciar um jogo, deveria ser feita essa validação e caso ela não fosse válida uma exceção seria levantada. Contudo não sabíamos como fazer isso em ruby, o que foi adicionado na lista de dúvidas e fizemos de uma outra maneira para na próxima sessão refatorarmos.

A primeira impressão de utilizar a modalidade diferente foi boa. Ficamos com a expectativa de aprendermos o que não sabíamos para aplicar no Dojo seguinte e como o problema é legal, ficamos realmente com vontade de terminá-lo o que aumenta a vontade de que chegue logo o próximo Dojo.

Galera no Dojo UENF

Participantes

Retrospectiva

🙂

  • Nível do Problema e o problema em si
  • Todos participaram
  • O problema se desenvolveu num ritmo legal

😦

  • Passaram na porta e acharam que era pascal! Porra, pascal é sacanagem!

Dúvidas

  • Dublês (mock e stub)
  • Tratamento de exceção

Valeu galera! Até o próximo Dojo!

[]’s


Dojo UENF [4]

domingo, 16 maio 2010

No dia 04/05/10 aconteceu o quarto Dojo UENF. Continuamos a usar Ruby e o pessoal escolheu o problema da linguagem alienígena retirado do Google Code Jam.

Discutimos por algum tempo se iríamos usar regex ou não. Ficamos batendo cabeça por bastante tempo sobre detalhes da linguagem e fazendo muitos testes no irb para ver como as coisas funcionavam. Apesar do problemas ser bem legal, o desenvolvimento ficou muito amarrado e acabamos encerrando o Dojo mais cedo.

Galera presente até o fim

Participantes

Retrospectiva

🙂

  • Problema legal

😦

  • Não existia o master e ficamos batendo cabeça em detalhes da linguagem
  • Pouca gente

Bom, é isso ai. Até a próxima!

[]’s