Técnicas para enseñar programación

Hace ya un largo tiempo que vengo leyendo sobre algunas dinámicas interactivas de programación como los coding dojos, pero recien hace un par de semanas tuve la oportunidad de particitar en uno. Dicha actividad se desarrolló en el contexto de los encuentros mensuales de la comunidad ágil de Buenos Aires y estuvo coordinado por Adrian Eidelman (pueden ver el video en code&&beyond). La actividad me resultó muy amena y me ayudó a confirmar una sospecha que tenia: definitivamente este tipo de dinámicas son una excelente herramienta para a enseñar a programar. Es por esto que voy a intentar incoporarlas a las materias que voy a dictar este cuatrimestre.

La técnica del dojo viene del mundo de las artes marciales, donde los practicantes suelen realizar ejercicios/movimientos en forma repetiva para dominar plenamente una técnica. Esta situación es fácilmente extrapolable a cualquier otra disciplina deportiva: todo deportista profesional mejora en base al entrenamiento. ¿cómo podríamos entonces llevar esta idea al ámbito del software? Si lo pensamos con detenimiento en general los programadores nos entrenamos dentro de los proyectos, es como si un futbolista no entrenara durante la semana y fuera directamente al partido el domingo . Alguien podría argumentar que en realidad los programadores nos entrenamos cuando estudiamos, pero en realidad eso seria como la etapa en la que un futbolista aprende las reglas del deporte y la técnica básica para patear un balón o en el caso de un arquero como armar la barrera para un tiro libre.

Un coding dojo es una reunión en la que programadores se juntan para trabajar en un desafio de programación, en cierto modo podria decirse que es un equivalente al entrenamiento de un deportista. Existen diversas variaciones en la dinámica, una llamada randori, consiste en trabajar  con una única computadora y un proyector, la solución es implementada  por pares de programadores que van rotando por la máquina según algún criterio predefinido (porque ejemplo cada 7 minutos).

Otra variante del dojo es la denominada  kata, en la cual un programador toma la máquina conectada al proyector y resuelve el desafio mientras los otro programadores lo observan atentamente  preguntando cualquier detalle que no les quede claro. Una vez finalizado, una programador de la audiencia toma la máquina y repitiendo los pasos previamente observados resuelve nuevamente el desafio comenzando desde cero.

Este post de Code&Beyond tiene varios recursos al respecto de esta técnica y explica la idea con más profundidad. También pueden leer este post de Dave Thomas, uno de los principales responsable de la popularización de esta dinámica.

Espero lo disfruten y prometo en un futuro compatir los resultados de la aplicación de esto en mi ámbito académico.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s