Mi experiencia docente en primaria estuvo enmarcada en trabajar con una, en mi concepto de las mejores invenciones hechas a nivel tanto informático como pedagógico, el lenguaje de programación conocido como Logo, o como lo conocí yo en mi infancia: Logo Tortuga. Supongo que Papert, no alcanzó a imaginar que su lenguaje y sus conceptos de pedagogía llegarían tan lejos. Ahora hablaremos de uno de tantos "hijos" de ese Logo Tortuga: Turtle Python.

Desde que en 1966, crearon a Logo Turtle, han aparecido muchas variaciones en distintos idiomas del lenguaje Logo. En mis labor docente utilicé una versión en español que facilitaba mucho las cosas. Hoy por hoy hay versiones hechas en distintos lenguajes y para distintas plataformas. Investigando un poco encontré que existe una versión para Python, llamada Turtle Python. Usando una lógica combinada entre las primitivas de Logo y la sintaxis de Python, Turtle Python permite realizar las divertidas tareas que se pueden hacer con esta particular tortuga.

Con un simple import turtle, se puede usar el objeto turtle para avanzar, girar, dibujar y escribir muchas cosas. Aunque la interfaz no es tan amigable como se esperaría, se puede combinar con distintos IDEs para hacerlo más agradable; ya que al ejecutar los scripts se lanza una ventana donde podemos ver lo que hace la tortuga.

Turtle Python, es una forma divertida de acercar a los niños al desarrollo; dibujando mientras aprenden conceptos de programación como estructuras de control y conceptos geométricos como los ángulos. Puedo afirmar basado en mi experiencia que los infantes pueden asimilar fácilmente todos esto sin problemas ya que la forma en que está planteado Logo y en este Turtle Python es bastante gráfico como para que los más peques empiecen a codificar tortugas usando el popular lenguaje de la serpiente.

Aquí un pequeño código para dibujar el "swirl" de Debian usando tortugas (Adaptado del sitio http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html)

import turtle
wn = turtle.Screen()
wn.bgcolor("white")
tess = turtle.Turtle()
tess.shape("turtle")
tess.color("red")
tess.penup() # This is new
size = 20
for i in range(30):
tess.stamp() # Leave an impression on the canvas
size = size + 3 # Increase the size on every iteration
tess.forward(size) # Move tess along
tess.right(24) # ... and turn her