quarta-feira, 1 de janeiro de 2014

Aprender Programação em Dojos!

Olá a todos! Espero que todos tenham um ano novo melhor que o anterior!

Para o primeiro artigo do ano vou falar de Dojos de Programação! Isso porque vou tentar usá-los em uma disciplina nova que serei responsável neste ano: laboratório de programação.


Dojos de Programação são eventos em que programadores se reúnem para programar de um jeito bem especial. Dois programadores (denominados piloto e co-piloto) trabalham em um computador cuja tela é compartilhada com todos os outros (plateia). Os programadores usam as técnicas de programação chamadas "programação em pares", "passos de bebê" e "desenvolvimento dirigido por testes".

Programação em pares diz que o programador-piloto usa o teclado enquanto que o co-piloto vê tudo que ele faz e vai conversando sobre como continuar resolvendo a questão. Essa é uma estratégia muito boa quando há um desenvolvedor mais experiente que o outro, aprende-se muito rápido enquanto trabalha!

Passos de bebê é uma técnica que define um tamanho máximo para as alterações feitas durante o desenvolvimento. O trabalho de programação deve ser feito a passos lentos (de bebê), nada de criar muitas coisas de uma vez...

Isso é essencial para usar o desenvolvimento dirigido por testes. Essa técnica define que primeiro você cria um teste para a funcionalidade que você ainda não fez (e por isso falha -> semáforo vermelho), e só depois você faz o teste passar (semáforo verde). Geralmente essa primeira forma de fazer o teste passar não é boa, então os programadores arrumam o código para ele ficar bom, mantendo sempre o semáforo verde.

No dojo, a plateia assiste a tudo, mas só pode ajudar o piloto e o co-piloto quando o semáforo está em verde. Isso é um grande limitador e as pessoas às vezes não se seguram. Além disso, o piloto e o co-piloto só ficam nessas funções durante 5 minutos (tempo exato!). Quando o tempo acaba o piloto volta para a plateia, o co-piloto vira piloto e alguém da plateia assume seu posto.

Essa dinâmica faz com que todos prestem atenção no que os programadores principais estão fazendo e há espaço para discussão de formas diferentes para solução do problema. O importante não é resolver o problema, mas aprender. Então ao final, sempre deve haver um espaço para discutir o que foi aprendido e o que impediu a aprendizagem.

==

Tudo que descrevi aprendi com o pessoal do DojoSP: http://www.dojosp.org/. Essa associação é formada de programadores que trabalham em formação continuada. Agora o desafio é adaptar essa dinâmica para alunos do 1o ano da faculdade que nunca programaram na vida!!


Acompanhem os próximos episódios!!

Um comentário:

  1. Fazer um "HelloWord" para galera que não manja dessa forma vai ficar bem legal !

    ResponderExcluir