Dojo de Programa¸˜o
ca
Palestra da Conferencia Brasileira de PERL

Ramiro Batista Luz1
Grupo Dojo Paran´
a
https://github.com/dojo-parana
http://groups.google.com/group/dojo-parana

ramiroluz@gmail.com

15 de novembro de 2013

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Origem da palavra

Tradu¸˜o literal - lugar do caminho.
ca
Monges - lugar onde se estuda a vida.
Atualmente - lugar onde artes marciais s˜o praticadas.
a

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Origem do Dojo de Programa¸˜o
ca

O termo Kata.
Dave Thomas e os Katas de C´digo.
o
Laurent Bossavit e Emmanuel Gaillot fundam o dojo Paris.

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
O que ´ o Dojo de Programa¸˜o?
e
ca

Analogia com artes marciais. Sensei, disc´
ıpulos, pr´tica e observa¸˜o.
a
ca
Dinˆmica do Dojo de Programa¸˜o, programa¸˜o em par,
a
ca
ca
desenvolvimento dirigido por testes, passos de bebˆ, turnos,
e
comunica¸˜o de ideias, coopera¸˜o, participa¸˜o, retrospectiva.
ca
ca
ca
Estrutura, computador, projetor, quadro negro/branco ou flipchart.
Estilos, Prepared, Randori, Kake.

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Dojo SP - http://www.dojosp.org/.

Figura: Blog do grupo dojo S˜o Paulo.
a

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Dojo Rio - http://dojorio.org/

Figura: Blog do grupo dojo Dojo Rio.

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
P´gina do Dojo Paran´ - https://github.com/dojo-parana.
a
a

Figura: P´gina do Dojo Paran´ no GitHub.
a
a

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Lista do grupo Dojo Paran´ a
http://groups.google.com/group/dojo-parana.

Figura: Lista Dojo Paran´ no Google Groups.
a

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Reposit´rio Dojo Paran´ o
a
https://github.com/dojo-parana/dojo-parana.

Figura: Reposit´rio de c´digos do Dojo Paran´ no GitHub.
o
o
a

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
C´digo OCR em PERL.
o

Figura: C´digo de um Dojo em PERL.
o
Ramiro Batista Luz

Dojo de Programa¸˜o
ca
P´gina Dojo Puzzles - http://www.dojopuzzles.com/
a

Figura: P´gina com problemas para Dojo - DojoPuzzles.
a

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
P´gina da Aldeia CoWorking
a
http://aldeiaco.com.br/cursos/?ee=49.

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Foto de um dojo de programa¸˜o.
ca

Figura: Dojo de programa¸˜o do grupo dojo-paran´.
ca
a

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Desenvolvimento dirigido por testes. (TDD)

Implementar testes antes do c´digo.
o
Feedback constante sobre o funcionamento do c´digo.
o
Seguran¸a para mudar.
c

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Programa¸˜o em par
ca

Compartilhamento do mesmo computador.
Comunica¸˜o constante.
ca
Revis˜o do c´digo instantaneamente.
a
o

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Passos de bebˆ
e

Resolver pequenos problemas gradualmente.
Manter o c´digo simples.
o

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Requisitos para realiza¸˜o
ca

Computador.
Projetor.
Quadro branco.
Sensei.
Guru da linguagem.
Sala para cerca de 30 pessoas no m´ximo.
a

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
A pr´tica de Dojos de Programa¸˜o
a
ca

Relato da experiˆncia de criar e conduzir um Dojo de Programa¸˜o
e
ca
[Sato, Corbucci e Bravo 2008].
Opini˜es sobre o aprendizado em ambientes ´geis, avalia¸˜o de
o
a
ca
atividades, Dojo de Programa¸˜o [Aniche e Silveira 2011].
ca
Avalia¸˜o de t´cnicas de ensino de m´todos ´geis [Bravo 2011].
ca
e
e
a
Apresenta¸˜o de Workshop sobre o Dojo de Programa¸˜o
ca
ca
[Bossavit e Gaillot 2005] e [Bache 2009].
Uso did´tico do Dojo de Programa¸˜o em ambiente acadˆmico
a
ca
e
[Carmo e Braganholo 2012].
Adapta¸˜o do Dojo de Programa¸˜o para uso em curso superior
ca
ca
[Delgado, Toledo e Braganholo 2012].

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Conclus˜o
a

Artigo [Luz, Neto e Noronha 2012] apresentado no Simp´sio
o
Brasileiro de Inform´tica na Educa¸˜o - SBIE 2013.
a
ca
Artigo [Luz, Neto e Noronha 2013] apresentado na International
Conference on Advanced Learning Technologies - ICALT.
Elabora¸˜o da Ontologia do Dojo de Programa¸˜o, usando m´todo
ca
ca
e
Methontology.
O Dojo de Programa¸˜o associado a aulas expositivas promove
ca
maior intera¸˜o e participa¸˜o.
ca
ca
Benef´
ıcios pela participa¸˜o, interven¸˜o do professor podem
ca
ca
minimizar efeito da timidez de alguns alunos.

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Agradecimentos
Adolfo Gustavo Serra Seca Neto - Orientador
Robinson Vida Noronha - Co-Orientador.
Felipe Leprevost e organizadores do YAPC 2013.
Tatiane Guimar˜es, Matheus Ara´jo, PETECO e PETCOCE,
a
u
organiza¸˜o do dojo UTFPR.
ca
Jo˜o Alberto Fabro e Gustavo Alberto Gim´nez Lugo - apoio
a
e
institucional para participar de eventos.
Danilo Sato, Hugo Corbucci, Daniel Wildt, Alexandre Freire,
Roberto Leite de Moraes Rodrigues, Mauricio Aniche and Elizabeth
Leddy - participa¸˜o nas entrevistas.
ca
Rodrigo Dias Arruda Senra, d´vidas sobre ontologias.
u
Marcel Caraciolo, d´vidas sobre estat´
u
ıstica.
Aos participantes volunt´rios do question´rio eletrˆnico.
a
a
o

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
V´
ıdeo

Dojo - Muito al´m do c´digo.
e
o
http://vimeo.com/20473572

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Referˆncias I
e

ANICHE, M. F.; SILVEIRA, G. d. A. Increasing learning in an agile
environment: lessons learned in an agile team. In: 2011 AGILE conference. Salt Lake City, UT, USA: [s.n.], 2011. p. 289–295. Dispon´ em:
ıvel
<http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6005834>
BACHE, E. Test driven development: performing art. In:
ABRAHAMSSON, P. et al. (Ed.). Agile processes in software
engineering and extreme programming. Springer Berlin Heidelberg,
2009, (Lecture Notes in Business Information Processing, v. 31). p.
217–218. ISBN 978-3-642-01853-4. 10.1007/978-3-642-01853-4 38.
Dispon´ em: <http://dx.doi.org/10.1007/978-3-642-01853-4 38>.
ıvel
BOSSAVIT, L.; GAILLOT, E. The coder’s dojo - a different way to
teach and learn programming. In: BAUMEISTER, H.; MARCHESI,
M.; HOLCOMBE, M. (Ed.). Extreme programming and agile
processes in software engineering. Springer Berlin / Heidelberg, 2005,
(Lecture Notes in Computer Science, v. 3556). p. 1156–1158. ISBN
978-3-540-26277-0. 10.1007/11499053 54. Dispon´ em:
ıvel
<http://dx.doi.org/10.1007/11499053 54>.
Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Referˆncias II
e
BRAVO, M. V. Abordagens para o ensino de pr´ticas de programa¸˜o
a
ca
extrema. Disserta¸˜o (Mestrado) — Instituto de Matem´tica e
ca
a
Estat´
ıstica da Universidade de S˜o Paulo, maio 2011. Dispon´ em:
a
ıvel
<http://grenoble.ime.usp.br/ gold/orientados/dissertacaoMarianaBravo.pdf>.
CARMO, D.; BRAGANHOLO, V. Um estudo sobre o uso did´tico de
a
dojos de programa¸˜o. In: Workshop de educa¸˜o em computa¸˜o.
ca
ca
ca
sociedade brasileira de computa¸ao. [S.l.: s.n.], 2012.
c
DELGADO, C.; TOLEDO, R. de; BRAGANHOLO, V. Uso de dojos
no ensino superior de computa¸˜o. 2012.
ca
LUZ, R.; NETO, A. G. S. S.; NORONHA, R. V. Usando Dojos de
Programacao para o Ensino de Desenvolvimento Dirigido por Testes.
Anais do Simp´sio Brasileiro de Inform´tica na Educa¸˜o. ISSN
o
a
ca
2316-6533., nov. 2012.

Ramiro Batista Luz

Dojo de Programa¸˜o
ca
Referˆncias III
e

LUZ, R.; NETO, A. G. S. S.; NORONHA, R. V. Teaching TDD, the
Coding Dojo Style. In: Proceedings of The 13th IEEE International
Conference on Advanced Learning Technologies. [s.n.], 2013.
Dispon´ em: <http://www.ask4research.info/icalt/2013/>.
ıvel
SATO, D. T.; CORBUCCI, H.; BRAVO, M. V. Coding dojo: an
environment for learning and sharing agile practices. AGILE
Conference, IEEE Computer Society, Los Alamitos, CA, USA, v. 0, p.
459–464, 2008.

Ramiro Batista Luz

Dojo de Programa¸˜o
ca

Dojo de Programação

  • 1.
    Dojo de Programa¸˜o ca Palestrada Conferencia Brasileira de PERL Ramiro Batista Luz1 Grupo Dojo Paran´ a https://github.com/dojo-parana http://groups.google.com/group/dojo-parana ramiroluz@gmail.com 15 de novembro de 2013 Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 2.
    Origem da palavra Tradu¸˜oliteral - lugar do caminho. ca Monges - lugar onde se estuda a vida. Atualmente - lugar onde artes marciais s˜o praticadas. a Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 3.
    Origem do Dojode Programa¸˜o ca O termo Kata. Dave Thomas e os Katas de C´digo. o Laurent Bossavit e Emmanuel Gaillot fundam o dojo Paris. Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 4.
    O que ´o Dojo de Programa¸˜o? e ca Analogia com artes marciais. Sensei, disc´ ıpulos, pr´tica e observa¸˜o. a ca Dinˆmica do Dojo de Programa¸˜o, programa¸˜o em par, a ca ca desenvolvimento dirigido por testes, passos de bebˆ, turnos, e comunica¸˜o de ideias, coopera¸˜o, participa¸˜o, retrospectiva. ca ca ca Estrutura, computador, projetor, quadro negro/branco ou flipchart. Estilos, Prepared, Randori, Kake. Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 5.
    Dojo SP -http://www.dojosp.org/. Figura: Blog do grupo dojo S˜o Paulo. a Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 6.
    Dojo Rio -http://dojorio.org/ Figura: Blog do grupo dojo Dojo Rio. Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 7.
    P´gina do DojoParan´ - https://github.com/dojo-parana. a a Figura: P´gina do Dojo Paran´ no GitHub. a a Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 8.
    Lista do grupoDojo Paran´ a http://groups.google.com/group/dojo-parana. Figura: Lista Dojo Paran´ no Google Groups. a Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 9.
    Reposit´rio Dojo Paran´o a https://github.com/dojo-parana/dojo-parana. Figura: Reposit´rio de c´digos do Dojo Paran´ no GitHub. o o a Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 10.
    C´digo OCR emPERL. o Figura: C´digo de um Dojo em PERL. o Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 11.
    P´gina Dojo Puzzles- http://www.dojopuzzles.com/ a Figura: P´gina com problemas para Dojo - DojoPuzzles. a Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 12.
    P´gina da AldeiaCoWorking a http://aldeiaco.com.br/cursos/?ee=49. Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 13.
    Foto de umdojo de programa¸˜o. ca Figura: Dojo de programa¸˜o do grupo dojo-paran´. ca a Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 14.
    Desenvolvimento dirigido portestes. (TDD) Implementar testes antes do c´digo. o Feedback constante sobre o funcionamento do c´digo. o Seguran¸a para mudar. c Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 15.
    Programa¸˜o em par ca Compartilhamentodo mesmo computador. Comunica¸˜o constante. ca Revis˜o do c´digo instantaneamente. a o Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 16.
    Passos de bebˆ e Resolverpequenos problemas gradualmente. Manter o c´digo simples. o Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 17.
    Requisitos para realiza¸˜o ca Computador. Projetor. Quadrobranco. Sensei. Guru da linguagem. Sala para cerca de 30 pessoas no m´ximo. a Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 18.
    A pr´tica deDojos de Programa¸˜o a ca Relato da experiˆncia de criar e conduzir um Dojo de Programa¸˜o e ca [Sato, Corbucci e Bravo 2008]. Opini˜es sobre o aprendizado em ambientes ´geis, avalia¸˜o de o a ca atividades, Dojo de Programa¸˜o [Aniche e Silveira 2011]. ca Avalia¸˜o de t´cnicas de ensino de m´todos ´geis [Bravo 2011]. ca e e a Apresenta¸˜o de Workshop sobre o Dojo de Programa¸˜o ca ca [Bossavit e Gaillot 2005] e [Bache 2009]. Uso did´tico do Dojo de Programa¸˜o em ambiente acadˆmico a ca e [Carmo e Braganholo 2012]. Adapta¸˜o do Dojo de Programa¸˜o para uso em curso superior ca ca [Delgado, Toledo e Braganholo 2012]. Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 19.
    Conclus˜o a Artigo [Luz, Netoe Noronha 2012] apresentado no Simp´sio o Brasileiro de Inform´tica na Educa¸˜o - SBIE 2013. a ca Artigo [Luz, Neto e Noronha 2013] apresentado na International Conference on Advanced Learning Technologies - ICALT. Elabora¸˜o da Ontologia do Dojo de Programa¸˜o, usando m´todo ca ca e Methontology. O Dojo de Programa¸˜o associado a aulas expositivas promove ca maior intera¸˜o e participa¸˜o. ca ca Benef´ ıcios pela participa¸˜o, interven¸˜o do professor podem ca ca minimizar efeito da timidez de alguns alunos. Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 20.
    Agradecimentos Adolfo Gustavo SerraSeca Neto - Orientador Robinson Vida Noronha - Co-Orientador. Felipe Leprevost e organizadores do YAPC 2013. Tatiane Guimar˜es, Matheus Ara´jo, PETECO e PETCOCE, a u organiza¸˜o do dojo UTFPR. ca Jo˜o Alberto Fabro e Gustavo Alberto Gim´nez Lugo - apoio a e institucional para participar de eventos. Danilo Sato, Hugo Corbucci, Daniel Wildt, Alexandre Freire, Roberto Leite de Moraes Rodrigues, Mauricio Aniche and Elizabeth Leddy - participa¸˜o nas entrevistas. ca Rodrigo Dias Arruda Senra, d´vidas sobre ontologias. u Marcel Caraciolo, d´vidas sobre estat´ u ıstica. Aos participantes volunt´rios do question´rio eletrˆnico. a a o Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 21.
    V´ ıdeo Dojo - Muitoal´m do c´digo. e o http://vimeo.com/20473572 Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 22.
    Referˆncias I e ANICHE, M.F.; SILVEIRA, G. d. A. Increasing learning in an agile environment: lessons learned in an agile team. In: 2011 AGILE conference. Salt Lake City, UT, USA: [s.n.], 2011. p. 289–295. Dispon´ em: ıvel <http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6005834> BACHE, E. Test driven development: performing art. In: ABRAHAMSSON, P. et al. (Ed.). Agile processes in software engineering and extreme programming. Springer Berlin Heidelberg, 2009, (Lecture Notes in Business Information Processing, v. 31). p. 217–218. ISBN 978-3-642-01853-4. 10.1007/978-3-642-01853-4 38. Dispon´ em: <http://dx.doi.org/10.1007/978-3-642-01853-4 38>. ıvel BOSSAVIT, L.; GAILLOT, E. The coder’s dojo - a different way to teach and learn programming. In: BAUMEISTER, H.; MARCHESI, M.; HOLCOMBE, M. (Ed.). Extreme programming and agile processes in software engineering. Springer Berlin / Heidelberg, 2005, (Lecture Notes in Computer Science, v. 3556). p. 1156–1158. ISBN 978-3-540-26277-0. 10.1007/11499053 54. Dispon´ em: ıvel <http://dx.doi.org/10.1007/11499053 54>. Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 23.
    Referˆncias II e BRAVO, M.V. Abordagens para o ensino de pr´ticas de programa¸˜o a ca extrema. Disserta¸˜o (Mestrado) — Instituto de Matem´tica e ca a Estat´ ıstica da Universidade de S˜o Paulo, maio 2011. Dispon´ em: a ıvel <http://grenoble.ime.usp.br/ gold/orientados/dissertacaoMarianaBravo.pdf>. CARMO, D.; BRAGANHOLO, V. Um estudo sobre o uso did´tico de a dojos de programa¸˜o. In: Workshop de educa¸˜o em computa¸˜o. ca ca ca sociedade brasileira de computa¸ao. [S.l.: s.n.], 2012. c DELGADO, C.; TOLEDO, R. de; BRAGANHOLO, V. Uso de dojos no ensino superior de computa¸˜o. 2012. ca LUZ, R.; NETO, A. G. S. S.; NORONHA, R. V. Usando Dojos de Programacao para o Ensino de Desenvolvimento Dirigido por Testes. Anais do Simp´sio Brasileiro de Inform´tica na Educa¸˜o. ISSN o a ca 2316-6533., nov. 2012. Ramiro Batista Luz Dojo de Programa¸˜o ca
  • 24.
    Referˆncias III e LUZ, R.;NETO, A. G. S. S.; NORONHA, R. V. Teaching TDD, the Coding Dojo Style. In: Proceedings of The 13th IEEE International Conference on Advanced Learning Technologies. [s.n.], 2013. Dispon´ em: <http://www.ask4research.info/icalt/2013/>. ıvel SATO, D. T.; CORBUCCI, H.; BRAVO, M. V. Coding dojo: an environment for learning and sharing agile practices. AGILE Conference, IEEE Computer Society, Los Alamitos, CA, USA, v. 0, p. 459–464, 2008. Ramiro Batista Luz Dojo de Programa¸˜o ca