Esta es una de las cosas más interesantes que hemos visto últimamente.
El programador americano Paul Boswell ha creado un juego basado en pequeñas piezas que sirve para que cualquiera, incluso un niño, pueda aprender cómo funciona un computador, divirtiéndose al mismo tiempo.
La idea surgió del hecho de que Paul, como profesor de la Universidad de Minnesota, veía cómo muchos proyectos de estudiantes e investigadores se quedaban sin hacer porque no sabían nada sobre programación ni tenían presupuesto para contratar a nadie. El pensamiento lógico y la comprensión sobre cómo funciona un ordenador (y no tanto cómo se comporta, que son conceptos diferentes) no es algo que se encuentre comúnmente fuera de los estudios específicos sobre informática. Y no debería ser así. Incluso los niños pueden aprender estos conceptos y sacarles provecho el resto de su vida.
Por eso Paul diseñó este magnífico juego, basándose en las ideas de una calculadora mecánica de los años 60 llamada Digi-Comp II, que se basaba en el uso de unas canicas y una serie de actuadores para realizar los cálculos:
El juego consiste en resolver una serie de puzles lógicos y escapar del plantea Eniac (😊) al mismo tiempo que aprendemos a pensar con lógica y conocemos el funcionamiento interno de un ordenador.
El tablero consiste en un par de lanzaderas de canicas pequeñas en la parte superior, que simulan los electrones moviéndose por un circuito. En la parte de abajo podemos colocar seis tipos distintos de piezas para simular diferentes tipos de operadores que modificarán la trayectoria de las canicas mientras bajan. De este modo, al llegar a la parte inferior, las canicas liberarán otra canica en la parte superior (de un lado o del otro según donde hayan caído), para que el circuito siga en funcionamiento:
Los 6 tipos de piezas disponibles son:
- Rampas: que mueven las canicas a un lado o al otro:
- Cruces: que permiten que las bolas se crucen, entrando por un lado y saliendo por el otro:
- bits: almacenan información al ser cruzados por una bola, cambiando del estado "On" al "Off" o al revés, y son una de las partes más importantes de resolver los puzles:
- El bit múltiple o "gear bit": funcionan como los anteriores pero no se limitan a cambiar su estado, sino que cambian también el estado de otros adyacentes. Logran hacer que el juego sea una computadora completa de Turing, es decir, que puede resolver cualquier problema computacional que queramos teniendo un tablero lo suficientemente largo:
- Interceptores: cuando el objetivo se completa, detienen la ejecución:
A partir de unas piezas tan engañosamente sencillas se pueden conseguir cuestiones complejas. Desde una simple suma o resta y otras operaciones matemáticas (multiplicar, dividir...) hasta varios tipos de lógica diferentes, comparar valores, crear patrones...
En este vídeo (en inglés) el propio autor nos explica cómo funciona y muestra algunos ejemplos:
Aunque parece para niños hay problemas propuestos, sobre todo hacia al final, que son realmente complejos e incluso programadores experimentados tendrán dificultades para resolverlos. Así que hay para todos.
Actualmente el juego está en Kickstarter y ha sobrepasado de largo el objetivo de recaudación, por lo que enseguida se pondrán a producirlos. Aún puedes contribuir para obtener desde simplemente el PDF del juego y los planos para poder imprimirlo en una impresora 3D o, pagando un poco más, que te envíen el juego físicamente.
En la página anterior además podrás encontrar una detallada explicación de su funcionamiento, lo que incluye, etc...
Confiesa... ¿lo comprarás diciendo que es para tus hijos o sobrinos pero en realidad lo quieres para tí? 😜