SlideShare a Scribd company logo
1 of 20
Download to read offline
03/11/2008
                                    Rodolfo Henrique Carvalho




                 Coding Dojo Rio

                         Introdução


Baseado nos slides de Danilo Sato     groups.google.com/group/dojo-rio
agradecimentos

                           •       Raphael Almeida

                           •       CEFET-RJ

                           •       Todas as pessoas que colobaram para
                                   conseguirmos um espaço

                           •       Todos os presentes




groups.google.com/group/dojo-rio
motivação



                              Programadores não
                                   treinam!

                                   Por que não?

groups.google.com/group/dojo-rio
origens

                           •       Kata → Coding Dojo
                           •       Definition: (http://codingdojo.org/)
                                    A Coding Dojo is a meeting where a bunch of
                                      coders get together to work on a programming
                                      challenge. They are there to have fun and to
                                      engage in deliberate practice in order to
                                      improve their skills.




groups.google.com/group/dojo-rio
princípios

                           •       Aprendizado Contínuo
                           •       Ambiente Seguro:
                                   •   Não-competitivo
                                   •   Colaborativo
                                   •   Inclusivo
                           •       Falha e Redundância
                           •       Passos de Bebê




groups.google.com/group/dojo-rio
regras gerais

                           •       Computador + Projetor
                           •       Par + Platéia
                           •       TDD (vermelho → verde → refatoração)
                           •       Todos devem entender
                           •       Sempre começa do zero




groups.google.com/group/dojo-rio
retrospectiva

                           •       Ao final da sessão:
                                   •   O que aprendemos?

                                   •   O que gostamos?

                                   •   O que pode melhorar?

                                   •   Comentários?




groups.google.com/group/dojo-rio
formatos

                           •       Kata
                                   •   Apresentação de
                                       uma solução

                                   •   Todos devem
                                       conseguir
                                       reproduzir

                                   •   Interrupções
                                       permitidas para tirar
                                       dúvidas



groups.google.com/group/dojo-rio
formatos

                           •       Randori
                                   •   Programação em pares

                                   •   Turnos “time-boxed”

                                   •   Após o turno (5-7 min.):
                                        •   O co-piloto vira piloto

                                        •   O piloto volta para a platéia

                                        •   Um novo co-piloto é convidado da platéia

                                   •   Comentários e críticas somente no verde

                                   •   Silêncio no vermelho


groups.google.com/group/dojo-rio
objetivos

                           •       Praticar

                           •       Aprender

                           •       Ensinar

                           •       Discutir com bases sobre código!




groups.google.com/group/dojo-rio
o que não faremos

                           •       Correr para terminar o problema

                           •       Resolver problemas “reais”

                           •       Entrar em “flamewars” nas discussões

                           •       Competir com outros participantes

                           •       Deixar pessoas sem entender




groups.google.com/group/dojo-rio
podemos

                           •       Experimentar novas idéias

                           •       Nos divertir

                           • Começar logo!
                                           18h30 – 19h00: preparativos
                                           19h00 – 19h20: problema
                                           19h20 – 20h30: programação
                                           20h30 – 20h50: retrospectiva
                                           20h50 – 21h00: encerramento
groups.google.com/group/dojo-rio
sugestões de problemas

                           •Ler o valor do cheque
                           •Amigo Oculto
                           •Dama




groups.google.com/group/dojo-rio
Ler o valor do cheque

                           •       Converter um valor monetário para o texto
                                   correspondente
                           •       Exemplo:
                                   assertEquals(“quinze mil quinhentos e trinta e dois
                                     reais e catorze centavos”,
                                     str(Money(“15532.14”)))




groups.google.com/group/dojo-rio
Amigo Oculto

                           •       Entrada: lista de nomes e emails
                                       Luke Skywalker <luke@theforce.net>
                                       Leia Skywalker <leia@therebellion.org>
                                       Toula Portokalos <toula@manhunter.org>
                                       Gus Portokalos <gus@weareallfruit.net>
                                       Bruce Wayne <bruce@imbatman.com>
                                       Virgil Brigman <virgil@rigworkersunion.org>
                                       Lindsey Brigman <lindsey@iseealiens.net>

                           •       Enviar um email para cada participante
                                   informando qual o seu amigo oculto
                           •       Restrição: o amigo oculto não pode ser da
                                   mesma família




groups.google.com/group/dojo-rio
Dama

                           •       O jogo de xadrez possui várias peças com
                                   movimentos curiosos: uma delas é a dama,
                                   que pode se mover qualquer quantidade de
                                   casas na mesma linha, na mesma coluna, ou
                                   em uma das duas diagonais, conforme
                                   exemplifica a figura

                                   •   Dada a posição de uma dama em um
                                       tabuleiro de xadrez vazio (ou seja, um
                                       tabuleiro 8 × 8, com 64 casas), de quantos
                                       movimentos, no mínimo, ela precisa para
groups.google.com/group/dojo-rio       chegar em outra casa do tabuleiro?
Dama - entrada

                           •       A entrada contém vários casos de teste. A primeira
                                   e única linha de cada caso de teste contém quatro
                                   inteiros X1, Y1 , X2 e Y2 (1 <= X1 , Y1 , X2 , Y2 <=
                                   8). A dama começa na casa de coordenadas (X1 ,
                                   Y1), e a casa de destino é a casa de coordenadas
                                   (X2 , Y2). No tabuleiro, as colunas são numeradas
                                   da esquerda para a direita de 1 a 8 e as linhas de
                                   cima para baixo também de 1 a 8. As coordenadas
                                   de uma casa na linha X e coluna Y são (X, Y).

                                    •   O final da entrada é indicado por uma linha
                                        contendo quatro zeros.
groups.google.com/group/dojo-rio
Dama - saída

                           •       Para cada caso de teste da entrada seu programa
                                   deve imprimir uma unica linha na saída, contendo
                                   um número inteiro, indicando o menor número de
                                   movimentos necessários para a dama chegar em
                                   sua casa de destino.

                           •       Exemplo:


                                       Entrada            Saída
                                       4462               1
                                       3535               0
                                                          2
                                       5543
                                       0000
groups.google.com/group/dojo-rio
website, blog, repositório do Dojo Rio

                           •       wordpress x blogspot x ???
                           •       google code x github x ???
                           •       ???




groups.google.com/group/dojo-rio
próximo encontro

                           •       Quando e onde?

                           •       Escolher linguagem e problema?

                           •       Sugestões?




groups.google.com/group/dojo-rio

More Related Content

Similar to Coding Dojo Rio: Introdução ao formato e objetivos do Dojo

Dojo - Colocando em pratica o que apresentamos, por Bruno Tavares
Dojo - Colocando em pratica o que apresentamos, por Bruno TavaresDojo - Colocando em pratica o que apresentamos, por Bruno Tavares
Dojo - Colocando em pratica o que apresentamos, por Bruno TavaresThoughtworks
 
Dojo UECE - javaCE
Dojo UECE - javaCEDojo UECE - javaCE
Dojo UECE - javaCEYuri Adams
 
ESOL 2008 - Contribuindo com o GNOME
ESOL 2008 - Contribuindo com o GNOMEESOL 2008 - Contribuindo com o GNOME
ESOL 2008 - Contribuindo com o GNOMEJorge Pereira
 

Similar to Coding Dojo Rio: Introdução ao formato e objetivos do Dojo (6)

Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Dojo - Colocando em pratica o que apresentamos, por Bruno Tavares
Dojo - Colocando em pratica o que apresentamos, por Bruno TavaresDojo - Colocando em pratica o que apresentamos, por Bruno Tavares
Dojo - Colocando em pratica o que apresentamos, por Bruno Tavares
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
Dojo UECE - javaCE
Dojo UECE - javaCEDojo UECE - javaCE
Dojo UECE - javaCE
 
ESOL 2008 - Contribuindo com o GNOME
ESOL 2008 - Contribuindo com o GNOMEESOL 2008 - Contribuindo com o GNOME
ESOL 2008 - Contribuindo com o GNOME
 

More from Rodolfo Carvalho

Go 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX GoGo 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX GoRodolfo Carvalho
 
OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017Rodolfo Carvalho
 
OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017Rodolfo Carvalho
 
Automation with Ansible and Containers
Automation with Ansible and ContainersAutomation with Ansible and Containers
Automation with Ansible and ContainersRodolfo Carvalho
 
The Go features I can't live without, 2nd round
The Go features I can't live without, 2nd roundThe Go features I can't live without, 2nd round
The Go features I can't live without, 2nd roundRodolfo Carvalho
 
The Go features I can't live without
The Go features I can't live withoutThe Go features I can't live without
The Go features I can't live withoutRodolfo Carvalho
 
Building and Deploying containerized Python Apps in the Cloud
Building and Deploying containerized Python Apps in the CloudBuilding and Deploying containerized Python Apps in the Cloud
Building and Deploying containerized Python Apps in the CloudRodolfo Carvalho
 
Python deployments on OpenShift 3
Python deployments on OpenShift 3Python deployments on OpenShift 3
Python deployments on OpenShift 3Rodolfo Carvalho
 
Composing WSGI apps and spellchecking it all
Composing WSGI apps and spellchecking it allComposing WSGI apps and spellchecking it all
Composing WSGI apps and spellchecking it allRodolfo Carvalho
 
O CPAN tem as ferramentas que você precisa para fazer TDD em Perl, o Coding D...
O CPAN tem as ferramentas que você precisa para fazer TDD em Perl, o Coding D...O CPAN tem as ferramentas que você precisa para fazer TDD em Perl, o Coding D...
O CPAN tem as ferramentas que você precisa para fazer TDD em Perl, o Coding D...Rodolfo Carvalho
 

More from Rodolfo Carvalho (20)

Go 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX GoGo 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX Go
 
OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017
 
OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017
 
Automation with Ansible and Containers
Automation with Ansible and ContainersAutomation with Ansible and Containers
Automation with Ansible and Containers
 
Go 1.8 Release Party
Go 1.8 Release PartyGo 1.8 Release Party
Go 1.8 Release Party
 
A Tour of Go - Workshop
A Tour of Go - WorkshopA Tour of Go - Workshop
A Tour of Go - Workshop
 
The Go features I can't live without, 2nd round
The Go features I can't live without, 2nd roundThe Go features I can't live without, 2nd round
The Go features I can't live without, 2nd round
 
The Go features I can't live without
The Go features I can't live withoutThe Go features I can't live without
The Go features I can't live without
 
Building and Deploying containerized Python Apps in the Cloud
Building and Deploying containerized Python Apps in the CloudBuilding and Deploying containerized Python Apps in the Cloud
Building and Deploying containerized Python Apps in the Cloud
 
Python deployments on OpenShift 3
Python deployments on OpenShift 3Python deployments on OpenShift 3
Python deployments on OpenShift 3
 
Composing WSGI apps and spellchecking it all
Composing WSGI apps and spellchecking it allComposing WSGI apps and spellchecking it all
Composing WSGI apps and spellchecking it all
 
Pykonik Coding Dojo
Pykonik Coding DojoPykonik Coding Dojo
Pykonik Coding Dojo
 
Concurrency in Python4k
Concurrency in Python4kConcurrency in Python4k
Concurrency in Python4k
 
Coding Kwoon
Coding KwoonCoding Kwoon
Coding Kwoon
 
Python in 15 minutes
Python in 15 minutesPython in 15 minutes
Python in 15 minutes
 
O CPAN tem as ferramentas que você precisa para fazer TDD em Perl, o Coding D...
O CPAN tem as ferramentas que você precisa para fazer TDD em Perl, o Coding D...O CPAN tem as ferramentas que você precisa para fazer TDD em Perl, o Coding D...
O CPAN tem as ferramentas que você precisa para fazer TDD em Perl, o Coding D...
 
Redes livres de escala
Redes livres de escalaRedes livres de escala
Redes livres de escala
 
Redes livres de escala
Redes livres de escalaRedes livres de escala
Redes livres de escala
 
XMPP
XMPPXMPP
XMPP
 
Content Delivery Networks
Content Delivery NetworksContent Delivery Networks
Content Delivery Networks
 

Coding Dojo Rio: Introdução ao formato e objetivos do Dojo

  • 1. 03/11/2008 Rodolfo Henrique Carvalho Coding Dojo Rio Introdução Baseado nos slides de Danilo Sato groups.google.com/group/dojo-rio
  • 2. agradecimentos • Raphael Almeida • CEFET-RJ • Todas as pessoas que colobaram para conseguirmos um espaço • Todos os presentes groups.google.com/group/dojo-rio
  • 3. motivação Programadores não treinam! Por que não? groups.google.com/group/dojo-rio
  • 4. origens • Kata → Coding Dojo • Definition: (http://codingdojo.org/) A Coding Dojo is a meeting where a bunch of coders get together to work on a programming challenge. They are there to have fun and to engage in deliberate practice in order to improve their skills. groups.google.com/group/dojo-rio
  • 5. princípios • Aprendizado Contínuo • Ambiente Seguro: • Não-competitivo • Colaborativo • Inclusivo • Falha e Redundância • Passos de Bebê groups.google.com/group/dojo-rio
  • 6. regras gerais • Computador + Projetor • Par + Platéia • TDD (vermelho → verde → refatoração) • Todos devem entender • Sempre começa do zero groups.google.com/group/dojo-rio
  • 7. retrospectiva • Ao final da sessão: • O que aprendemos? • O que gostamos? • O que pode melhorar? • Comentários? groups.google.com/group/dojo-rio
  • 8. formatos • Kata • Apresentação de uma solução • Todos devem conseguir reproduzir • Interrupções permitidas para tirar dúvidas groups.google.com/group/dojo-rio
  • 9. formatos • Randori • Programação em pares • Turnos “time-boxed” • Após o turno (5-7 min.): • O co-piloto vira piloto • O piloto volta para a platéia • Um novo co-piloto é convidado da platéia • Comentários e críticas somente no verde • Silêncio no vermelho groups.google.com/group/dojo-rio
  • 10. objetivos • Praticar • Aprender • Ensinar • Discutir com bases sobre código! groups.google.com/group/dojo-rio
  • 11. o que não faremos • Correr para terminar o problema • Resolver problemas “reais” • Entrar em “flamewars” nas discussões • Competir com outros participantes • Deixar pessoas sem entender groups.google.com/group/dojo-rio
  • 12. podemos • Experimentar novas idéias • Nos divertir • Começar logo! 18h30 – 19h00: preparativos 19h00 – 19h20: problema 19h20 – 20h30: programação 20h30 – 20h50: retrospectiva 20h50 – 21h00: encerramento groups.google.com/group/dojo-rio
  • 13. sugestões de problemas •Ler o valor do cheque •Amigo Oculto •Dama groups.google.com/group/dojo-rio
  • 14. Ler o valor do cheque • Converter um valor monetário para o texto correspondente • Exemplo: assertEquals(“quinze mil quinhentos e trinta e dois reais e catorze centavos”, str(Money(“15532.14”))) groups.google.com/group/dojo-rio
  • 15. Amigo Oculto • Entrada: lista de nomes e emails Luke Skywalker <luke@theforce.net> Leia Skywalker <leia@therebellion.org> Toula Portokalos <toula@manhunter.org> Gus Portokalos <gus@weareallfruit.net> Bruce Wayne <bruce@imbatman.com> Virgil Brigman <virgil@rigworkersunion.org> Lindsey Brigman <lindsey@iseealiens.net> • Enviar um email para cada participante informando qual o seu amigo oculto • Restrição: o amigo oculto não pode ser da mesma família groups.google.com/group/dojo-rio
  • 16. Dama • O jogo de xadrez possui várias peças com movimentos curiosos: uma delas é a dama, que pode se mover qualquer quantidade de casas na mesma linha, na mesma coluna, ou em uma das duas diagonais, conforme exemplifica a figura • Dada a posição de uma dama em um tabuleiro de xadrez vazio (ou seja, um tabuleiro 8 × 8, com 64 casas), de quantos movimentos, no mínimo, ela precisa para groups.google.com/group/dojo-rio chegar em outra casa do tabuleiro?
  • 17. Dama - entrada • A entrada contém vários casos de teste. A primeira e única linha de cada caso de teste contém quatro inteiros X1, Y1 , X2 e Y2 (1 <= X1 , Y1 , X2 , Y2 <= 8). A dama começa na casa de coordenadas (X1 , Y1), e a casa de destino é a casa de coordenadas (X2 , Y2). No tabuleiro, as colunas são numeradas da esquerda para a direita de 1 a 8 e as linhas de cima para baixo também de 1 a 8. As coordenadas de uma casa na linha X e coluna Y são (X, Y). • O final da entrada é indicado por uma linha contendo quatro zeros. groups.google.com/group/dojo-rio
  • 18. Dama - saída • Para cada caso de teste da entrada seu programa deve imprimir uma unica linha na saída, contendo um número inteiro, indicando o menor número de movimentos necessários para a dama chegar em sua casa de destino. • Exemplo: Entrada Saída 4462 1 3535 0 2 5543 0000 groups.google.com/group/dojo-rio
  • 19. website, blog, repositório do Dojo Rio • wordpress x blogspot x ??? • google code x github x ??? • ??? groups.google.com/group/dojo-rio
  • 20. próximo encontro • Quando e onde? • Escolher linguagem e problema? • Sugestões? groups.google.com/group/dojo-rio