Katas de código para empezar a programar

04Abr11

Hace un mes (casi exactamente) me topé por segunda vez con el término “Kata de código”. Un concepto, acuñado originalmente por Dave Thomas, co-autor de “The Pragmatic Programmer”, quien tiene todo un blog al respecto.

El concepto es bastante simple. La maestría se adquiere practicando y así como los karatecas pasan gran parte de su entrenamiento repitiendo una y otra vez katas que resumen sus posiciones y técnicas de defensa y ataque, los programadores podríamos ponernos en la tarea de realizar ejercicios prácticos para no perder el toque. “Encerar, pulir”.

Son ejercicios muy sencillos y su dinámica promueve más el intercambio de ideas que la resolución “per se” del problema, por lo que lo recomiendo si estás empezando a programar o si quieres aprender algún lenguaje de programación nuevo. Si tu objetivo es adquirir habilidades avanzadas de programación, te conviene más los problemas propuestos por Google CodeJam, la ACM o TopCoder (todos en inglés) y definitivamente el libro de Thomas Cormen, “Introduction to Algorithms”.

En Kárate, se tienen las cintas para medir el grado de preparación de un karateca. Van desde el décimo kyu (cinta blanca) hasta el primer kyu (cinta negra) y de allí en adelante continúan con los Dan (del primer Dan hasta el décimo que es el grado más alto). Pues bien, lo que me he encontrado en las versiones castellanas de “Katas de código” es que el nivel de sus ejercicios es bastante básico (usualmente, un 9º kyu o cinta amarilla). Tomo como referente la página 12meses12katas. Aún les doy el beneficio de la duda pues, en vista de que es un proyecto que comenzó este año, puede que a medida que pasen los meses los katas sean más desafiantes. Otras páginas con una colección más grande de katas son CodingDojo.orgCodingKata.org (ambas en inglés).

Así que todo depende del objetivo que te planteas al iniciar uno de estos katas. Como dije antes, si estás empezando a programar, quieres aprender un nuevo lenguaje de programación, o familiarizarte con el desarollo guiado por pruebas (TDD por sus siglas en inglés), los encuentro una buena opción. También si te dedicas a la enseñanza y quieres utilizar el método como dinámica de grupo. Pero si por el contrario tu objetivo es aprender un nuevo algoritmo o estructura de datos (programación dinámica, árboles, grafos, etc.) o  poner en práctica tus habilidades  en la resolución de problemas retadores, definitivamente aprovecharás más el estilo del CodeJam, la ACM o TopCoders y el libro que mencioné antes.

Anuncios


One Response to “Katas de código para empezar a programar”


  1. 1 Una semana de #TuentiContest « lagunex

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 )

Google+ photo

Estás comentando usando tu cuenta de Google+. 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 )

Conectando a %s


A %d blogueros les gusta esto: