SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Coding Dojo
 @apiconz - Armando Picón
¿Qué es un Coding Dojo?
Un Coding Dojo es un lugar donde los
programadores asisten para mejorar sus
"skills", siguiendo un patrón similar al de un
dojo de artes marciales. Los participantes se
reunen para dar solución a un desafío de
programación, aplicando sus conocimientos y
aprendiendo nuevas técnicas para mejorar su
desarrollo, a través, de la interacción con sus
compañeros.
TDD (Test Driven Development)

                  Test



Refactor                        Fail


                                  KISS!
           Pass          Code     (Simple)
Dinámica

Pair programming:
    2 personas x
    1 computadora

Kake Coding Dojo:
5 - 7 minutos por ronda
Driver regresa a la audiencia.
Copilot pasa a ser Coder.
Un miembro de la audiencia pasa a ser
Copilot.
Desafío – Greed Kata
• Greed es un juego de dados. En el juego, se
  hacen rodar los dados tratando de obtener la
  mayor cantidad de puntos como sea posible.
• Se nos pide desarrollar una solución en la que
  se reciba una colección de valores de dados y
  nos permita conocer el puntaje obtenido.
• Para este kata, solo nos enfocaremos en un
  solo lanzamiento de cinco dados.
Desafío – Greed Kata
•   Escribir el código en el cuál se calcule el mejor puntaje basado en cualquier
    lanzamiento empleando la siguiente serie de puntuación:
      o Un solo 1 (100)
      o Un solo 5 (50)
      o Triple 1 [1,1,1] (1000)
      o Triple 2 [2,2,2] (200)
      o Triple 3 [3,3,3] (300)
      o Triple 4 [4,4,4] (400)
      o Triple 5 [5,5,5] (500)
      o Triple 6 [6,6,6] (600)
•   Ejemplos:
     o [1,1,1,5,1] = 1150 puntos
     o [2,3,4,6,2] = 0 puntos
     o [5,5,5,5,5] = 600 puntos
     o [1,5,1,2,4] = 250 puntos
Desafío – Greed Kata (Bonus)
•   Algunas reglas extras (cambiarán la forma de puntuación de algunos de los
    ejemplos anteriores):
     o El jugador puede lanzar 6 dados.
     o Cuatro en línea [2,2,2,2]: Multiplica el Triple por 2 (cuatro 2 deberían ser
        400).
     o Cinco en línea [2,2,2,2,2]: Multiplica el Triple por 3 (cinco 2 deberían
        hacer 800).
     o Seis en línea [2,2,2,2,2,2]: Multiplica el Triple puntaje por 8 (seis 2
        deberían hacer 1600).
     o Tres pares [2,2,3,3,4,4]: 800 puntos.
     o Raya [1,2,3,4,5,6]: 1200 puntos.
Feedback - Retrospectiva
Participa en la comunidad…




          AgilePerú en Google Groups
Armando Picón Z.
IBM WebSphere Portal Specialist
     & Agile Professional
  Certified Scrum Developer


      web | about.me/apiconz
   e-mail | apiconz@gmail.com
twitter | www.twitter.com/apiconz

Weitere ähnliche Inhalte

Mehr von Armando Picón Z.

Introducción a la agilidad el manifiesto v2.0
Introducción a la agilidad   el manifiesto v2.0Introducción a la agilidad   el manifiesto v2.0
Introducción a la agilidad el manifiesto v2.0
Armando Picón Z.
 
Lima GTUG - Startup Android Workshop
Lima GTUG - Startup Android WorkshopLima GTUG - Startup Android Workshop
Lima GTUG - Startup Android Workshop
Armando Picón Z.
 
Android 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrolloAndroid 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrollo
Armando Picón Z.
 

Mehr von Armando Picón Z. (18)

Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
 
Integra tu Aplicación Android con Firebase
Integra tu Aplicación Android con FirebaseIntegra tu Aplicación Android con Firebase
Integra tu Aplicación Android con Firebase
 
Android Espresso
Android EspressoAndroid Espresso
Android Espresso
 
GDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladoresGDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladores
 
Introducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para AndroidIntroducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para Android
 
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
 
GDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud PlatformGDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud Platform
 
Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014
 
Coding Dojo - Presentation Template
Coding Dojo - Presentation TemplateCoding Dojo - Presentation Template
Coding Dojo - Presentation Template
 
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesferaUsabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
 
Introducción a la agilidad el manifiesto v2.0
Introducción a la agilidad   el manifiesto v2.0Introducción a la agilidad   el manifiesto v2.0
Introducción a la agilidad el manifiesto v2.0
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El Manifiesto
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El Manifiesto
 
Lima GTUG - Startup Android Workshop
Lima GTUG - Startup Android WorkshopLima GTUG - Startup Android Workshop
Lima GTUG - Startup Android Workshop
 
Android 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrolloAndroid 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrollo
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Distributed Scrum por Heitor Roriz
Distributed Scrum por Heitor RorizDistributed Scrum por Heitor Roriz
Distributed Scrum por Heitor Roriz
 
Como Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De MovistarComo Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De Movistar
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Kürzlich hochgeladen (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Coding Dojo - Greed Kata

  • 1. Coding Dojo @apiconz - Armando Picón
  • 2. ¿Qué es un Coding Dojo? Un Coding Dojo es un lugar donde los programadores asisten para mejorar sus "skills", siguiendo un patrón similar al de un dojo de artes marciales. Los participantes se reunen para dar solución a un desafío de programación, aplicando sus conocimientos y aprendiendo nuevas técnicas para mejorar su desarrollo, a través, de la interacción con sus compañeros.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. TDD (Test Driven Development) Test Refactor Fail KISS! Pass Code (Simple)
  • 9. Dinámica Pair programming: 2 personas x 1 computadora Kake Coding Dojo: 5 - 7 minutos por ronda Driver regresa a la audiencia. Copilot pasa a ser Coder. Un miembro de la audiencia pasa a ser Copilot.
  • 10. Desafío – Greed Kata • Greed es un juego de dados. En el juego, se hacen rodar los dados tratando de obtener la mayor cantidad de puntos como sea posible. • Se nos pide desarrollar una solución en la que se reciba una colección de valores de dados y nos permita conocer el puntaje obtenido. • Para este kata, solo nos enfocaremos en un solo lanzamiento de cinco dados.
  • 11. Desafío – Greed Kata • Escribir el código en el cuál se calcule el mejor puntaje basado en cualquier lanzamiento empleando la siguiente serie de puntuación: o Un solo 1 (100) o Un solo 5 (50) o Triple 1 [1,1,1] (1000) o Triple 2 [2,2,2] (200) o Triple 3 [3,3,3] (300) o Triple 4 [4,4,4] (400) o Triple 5 [5,5,5] (500) o Triple 6 [6,6,6] (600) • Ejemplos: o [1,1,1,5,1] = 1150 puntos o [2,3,4,6,2] = 0 puntos o [5,5,5,5,5] = 600 puntos o [1,5,1,2,4] = 250 puntos
  • 12. Desafío – Greed Kata (Bonus) • Algunas reglas extras (cambiarán la forma de puntuación de algunos de los ejemplos anteriores): o El jugador puede lanzar 6 dados. o Cuatro en línea [2,2,2,2]: Multiplica el Triple por 2 (cuatro 2 deberían ser 400). o Cinco en línea [2,2,2,2,2]: Multiplica el Triple por 3 (cinco 2 deberían hacer 800). o Seis en línea [2,2,2,2,2,2]: Multiplica el Triple puntaje por 8 (seis 2 deberían hacer 1600). o Tres pares [2,2,3,3,4,4]: 800 puntos. o Raya [1,2,3,4,5,6]: 1200 puntos.
  • 14. Participa en la comunidad… AgilePerú en Google Groups
  • 15. Armando Picón Z. IBM WebSphere Portal Specialist & Agile Professional Certified Scrum Developer web | about.me/apiconz e-mail | apiconz@gmail.com twitter | www.twitter.com/apiconz