Una introducción a StarLogoTNG

¿Qué es StarLogo TNG?

StarLogoTNG es un lenguaje de programación para jóvenes en edad escolar y para docentes, es gratuito y está totalmente traducido al castellano. Es un lenguaje gráfico que permite crear modelos de simulación de sistemas dinámicos complejos multi-agente sin escribir ni una línea de código. StarLogo TNG posee una interfaz gráfica 3D basada en OpenGL donde se muestran los modelos y una interfaz basada en LogoBlocks donde se programa arrastrando bloques de código autoencastrables, al modo de los ladrillos de Lego o Rasti. Si conocen Scratch, entonces StarLogo TNG les resultará familiar.

StarLogoTNG pretende constituirse en un espacio de programación orientada al juego donde los errores de sintaxis no sean un obstáculo más para los programadores. StarLogoTNG es una evolución de StarLogo, creado por Mitch Resnick allá por el año 1997.

¿Qué se puede hacer con StarLogo TNG?

En StarLogo TNG se pueden programar objetos (“agentes”) para que interactúen entre sí siguiendo reglas sencillas. Por ejemplo, se podrían programas diez jirafas para que a medida que avanzan una cantidad determinada de pasos vayan perdiendo energía, pero si encuentran alimento en su camino, que incrementen su energía y se reproduzcan. De ese modo, se pueden ver a las jirafas en 3D corriendo por ahí, interactuando con su alimento y reproduciéndose. También, en StarLogo TNG, se pueden colocar botones para disparar distintos eventos (crear más jirafas por ejemplo); deslizadores (“sliders”) para cambiar valores dentro de la simulación (por ejemplo la cantidad inicial de jirafas); o gráficos de líneas (por ejemplo para ver la evolución de la población de jirafas en el ecosistema a lo largo del tiempo).

Ecosistema de la llanura africana. Modelo de simulación computacional en StarLogo TNG.

StarLogo TNG permite además ver a las jirafas desde distintos ángulos o incluso como si una de ellas tuviera una cámara filmadora al hombro. También se pueden importar a StarLogo TNG modelos en 3D desde Google Sketchup, ya sea para colocar árboles, vegetación u otros objetos como vehículos o personas.

StarLogo TNG fue desarrollado en el MIT y entonces no es extraño que encarne al construccionismo más puro de Papert, al modo de “un objeto para pensar con” (Papert, 1980).

StarLogo TNG permite crear modelos de simulación computacional desde una perspectiva basada en agentes, donde no es necesario manejar ecuaciones diferenciales u otros conceptos avanzados de Matemática que terminan siendo un escollo para los alumnos e incluso para algunos docentes (al menos para mí esto se cumple en un 100%).

En StarLogo TNG, al contrario de otras herramientas de modelización como Stella o Modellus, no se manipulan variables enteras de un sistema sino “agentes”, y se los programa para que realicen determinadas acciones y ver luego qué sucede con el sistema.

Estos “agentes” pueden ser cualquier cosa, desde animales (como el caso de las jirafas que ilustramos más arriba), hasta moléculas, personas, autos, microorganismos o plantas.

Aún a riesgo de ser repetitivo, quiero recalcar que con StarLogo TNG podemos dar “vida” en la pantalla a estos “agentes” para que cumplan ciertas reglas, tanto al interactuar entre ellos como con el ambiente en que se mueven.

Quisiera cerrar esta sección resaltando que StarLogo TNG es una herramienta privilegiada para crear videojuegos, por todo lo dicho anteriormente, en especial su entorno 3D; sus distintos ángulos de cámara; y la posibilidad de importar modelos 3D desde otros programas.

¿Por qué StarLogo TNG?

El lenguaje Logo fue a través de quien tomé contacto por primera vez con una computadora allá por el año 1987. Siempre me interesó esta posibilidad de las TIC digitales (Coll, 2007) de manipular variables y modelar situaciones. Hubo varias versiones y sabores de Logo que degusté en estos años y en 2009 conocí a StarLogo TNG. Hasta que en Agosto de 2o1o, tuve la oportunidad de viajar a EEUU y participar en el Imagination Toolbox, un curso de StarLogoTNG en el mismísimo MIT (Massachussets Institute of Technology) donde conocí al equipo de desarrolladores y pude profundizar en las propuestas y el modelo de trabajo.

Imagination Toolbox, MIT, Agosto 2010

Ahí vi la potencialidad de StarLogo TNG y comencé a trabajar en su traducción al castellano. Luego de casi 8 meses de trabajo en conjunto con Daniel Wendel del MIT, llegamos a la versión 1.5.1 en castellano, tanto para Windows como para MacOSX.
Además de traducir el software, traduje todos los materiales que utilizamos en el curso y otros más que encontré en la web. Me interesé por los fenómenos descentralizados y los sistemas dinámicos complejos, leí a Johnson (Sistemas Emergentes) y a Resnick (Tortugas, Termitas y Atascos de Tráfico); conocí el trabajo del Instituto de Santa Fe sobre Complejidad; aprendí sobre el maravilloso Proyecto GUTS; aprendí sobre los insectos sociales en general y las termitas en particular, pero sobre todo me divertí mucho.

¿Cuál es el objetivo de este blog?

Mi objetivo ahora es crear una comunidad de usuarios de habla castellana interesados en la temática, que puedan acercar a sus alumnos o sus docentes a esta herramienta colaborando con la adaptación/traducción de modelos ya creados y la creación de modelos nuevos. Hay muchos materiales en Inglés desarrollados por docentes e investigadores esperando ser traducidos y utilizados.

Hay curriculums enteros desarrollados sobre cuestiones tan variadas como dinámicas de contagio de epidemias, propagación de incendios, mecanismos de evolución, congestiones de tránsito o variaciones en cadenas tróficas.

¿Y ahora qué?

Si algo de esto les suena interesante, si quieren participar de un taller, ya sea en Argentina o en otro país hispanoparlante, presencial o en línea, o recibir más información sobre StarLogoTNG, pueden escribir a starlogoesp@prog-edu.org o a crizzi@prog-edu.org.

Si quieren acceder a novedades sobre StarLogoTNG, descargar la versión en castellano, bajar materiales o dejar sus comentarios, vean la página “Comunidad” de este mismo blog.

Seguimos en contacto y gracias por leerme.

Cristián