Squeak, la herramienta de los niños (I)

¿La herramienta que traerá la revolución educativa?

Todos escribimos sobre Squeak. Claro, uno también. Tenemos la idea de que Squeak es una aplicación que puede ayudar a cambiar la forma de enfocar la enseñanza y el aprendizaje, pero nos cuesta explicarnos y ser convincentes. Vamos a intentarlo. Por Juan Rafael Fernández García.

Historial de versiones
Revisión 0.2 2006-09-02 jrf
Correcciones estéticas y error en nota 2.
Revisión 0.1 2006-09-01 jrf
Primera versión CC 2.0 del artículo de Linux Magazine.

Nota legal. Está usted leyendo ¿La herramienta que traerá la revolución educativa?, primero de una serie de tres artículos sobre Squeak, publicado por primera vez en el número 16 de la revista Linux Magazine, de mayo de 2006 (y por tanto escrito en febrero de 2006). La versión pdf del artículo puede descargarse en el enlace http://www.linux-magazine.es/issue/16/.

La versión «canónica» del artículo, la única mantenida por el autor, se encuentra en http://people.ofset.org/jrfernandez/edu/n-c/squeak_1/index.html. Está publicada por contrato con la editorial bajo licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.0 (-sa-by-nc 2.0).


Índice de la primera parte
I. Squeak, primera mirada
II. Instalar Squeak
III. Los duros hechos
IV. El razonamiento
V. La promesa
VI. Y en el próximo número...

Imágenes
Cuadro: La licencia de Squeak
Notas

Esto es lo que hay (Segunda parte del artículo)
¿Un juicio justo? (Tercera parte del artículo)


Squeak rompe nuestros esquemas. Por un lado es visualmente distinto, y además eso de poner a los alumnos a programar... Squeak parte de la tan citada premisa de que se aprende haciendo y la concreta con la idea que los ordenadores son la herramienta que permiten un nivel de visualidad y de realismo de las simulaciones y modelos que no se podía alcanzar hasta ahora. Su uso conlleva un cambio en la forma de dar clase. También el convencimiento de que parte de la evolución del mundo de la informática ha seguido un camino equivocado, que ha convertido a los usuarios en clientes a los que hay que devolver el control del ordenador y de su proceso de aprendizaje. Y que el esfuerzo que implica para los profesores está justificado y es necesario. Lo escribe Alan Kay con todas sus letras: «Virtualmente todas las dificultades de aprendizaje a las que se enfrentan los niños están causadas por la incapacidad de los adultos para establecer entornos de aprendizaje razonables para ellos. El principal obstáculo para la mejora de la educación de los niños, con o sin ordenadores, es la imaginación extremadamente pobre de la mayoría de los adultos»[1]. ¿Quién tiene miedo a un desafío intelectual? Nosotros no, ¿verdad?

 

I. Squeak, primera mirada

¿Qué es Squeak?[2] Fácil, el ruido que hace un ratón inglés[3]. Vale vale, muy ingenioso, eso explica la mascota. ¿Y el Squeak de nuestros ordenadores, el Squeak de la figura 1? Miremos por partes. Desde determinado punto de vista es un entorno creado con un lenguaje de programación orientado a objetos, Smalltalk, que permite al usuario la manipulación de los objetos Smalltalk[4]. El paciente lector estará pensando: ya ha dado la explicación rara, a ver si viene ahora la explicación sencilla. Vamos a intentarlo: imaginen el momento en que escribo, en un rectángulo blanco incluido en una ventana con unos iconos (Nuevo, Abrir, Guardar...) y unos widgets (la barra de desplazamiento, la barra de estado, pestañas...), este editor ha sido creado con un lenguaje que utiliza clases y objetos para dibujar la ventana, los controles, las operaciones que puedo realizar, borrar palabras, seleccionar fragmentos de texto, cambiarlos de sitio (los métodos). ¿Y si dejamos esos objetos vivos para que usuario pueda transformarlos? Esa es una de las cosas que es Squeak, el aspecto técnico.

Squeak es también una máquina virtual como la de java, una capa situada por encima del sistema operativo y por tanto independiente de él: hay máquinas virtuales Squeak para cualquier sistema operativo. Intenta ser el sistema operativo que usaríamos si no estuviéramos anclados en tecnologías de hace treinta años (repito ideas que he oído a Francisco de Urquijo y a Diego Gómez Deck). Pretende por tanto incluir todo lo que de utilidad proporciona un sistema operativo actual: editor de documentos y presentaciones multimedia (quizás un vistazo a la figura 2 nos puede orientar), reproductor de sonido, video, sintetizador de voz, navegador web, cliente de correo...

Examinemos ahora con más detalle la figura 1: al primer vistazo es un programa que ocupa toda la pantalla, de colores inusualmente vivos, y pequeñas ventanas dentro. Lo que nosotros los profesores y alumnos vemos de Squeak es sólo una capa superficial, compuesta fundamentalmente por eToys y Ensayos activos. Leemos en Small-land[5]: «Los eToys son ambientes de computadora que ayudan a las personas a aprender sobre sus ideas construyendo y jugando con ellos. Los eToys ayudan a un usuario (usualmente un niño) a crear un grato y agradable modelo computacional de la idea y provee de pistas sobre como la idea puede ser ampliada». Un Ensayo activo (Active Essay) «es un nuevo tipo de medio literario que combina un ensayo escrito, con simulaciones, y con los programas de computación que hacen que todo trabaje en orden para proveer una profunda explicación de un sistema dinámico. El lector trabaja directamente sobre diferentes representaciones de los conceptos en discusión. Jugando con las simulaciones y el código, el lector obtiene experiencia concreta sobre el tópico».

Los profesores y alumnos trabajan con estos tipos de objetos de alto nivel, y pueden utilizar guiones para programar visualmente el comportamiento de los objetos. No se espera de nosotros que buceemos hasta el código Smalltalk subyacente (tampoco se nos prohíbe ni se nos oculta, las fuentes están ahí siempre).

Podemos llegar a la conclusión de que Squeak no es un programa, es un entorno especial donde se ejecutan programas con una intención fundamentalmente educativa; Squeak es un mundo para crear mundos.

 

II. Instalar Squeak

¿Cómo conseguir Squeak? Para un debianita la respuesta semiautomática sería: aptitude install squeak. Pero no es tan sencillo, porque ciertos problemas con la licencia (ver el cuadro 1) han impedido que Squeak entre en los repositorios de Debian (o Debian-edu/Skolelinux). Sín embargo sí hay paquetes instalables. Por un lado los de la Fundación Squeak, basta añadir la línea

deb http://box2.squeakfoundation.org/files/debian/ unstable main

y obtendremos la versión 3.8a en inglés. Podemos además añadir otra línea,

deb http://debian.ofset.org sarge main

que nos proporcionará la imagen Freeduc creada por el grupo de desarrollo francófono[6] (figura 3). Pero si queremos una versión española a la última es preferible utilizar

deb http://www.linex.org/sources/linex/debian/ sarge main contrib linex non-free

que nos proporciona las fuentes, imágenes y plugins para el navegador (versión educarex-squeak_20060106-1 en el momento de escribir estas líneas). Sugiero instalar también los paquetes algebra-squeak y tusitala, ya veremos más adelante su interés.

¿Fuentes, imágenes, plugins? Squeak se presenta bajo la forma de varios componentes:

1. Un grupo de tres ficheros que representan el conjunto del entorno y de los programas en un estado dado. Para ser más exactos:

1a.- uno o varios ficheros imagen (.image), capturas de una sesión completa Squeak en código bytecode (estado optimizado del código Smalltalk),

1b.- un fichero con las modificaciones que un usuario ha efectuado sobre la imagen (.changes, por ejemplo con actualizaciones, nuevos proyectos, etc.) y

1c.- un fichero con el código fuente original (.sources).

2. Una máquina virtual (VM), un ejecutable propio del sistema operativo huésped, que puede interpretar ficheros imagen. Y un plugin para poder ejecutar el código en remoto desde un navegador (la figura 4 nos muestra un recurso llamado simstory ejecutado desde el navegador).

3. Pero ahí no queda la cosa. Desde la versión 3.7[7] es posible utilizar el Cargador de Paquetes SqueakMap (figura 5) para descargar e instalar paquetes desde internet.

4. Y lo más importante: podemos guardar nuestros proyectos (ficheros .pr), exportarlos e importarlos de repositorios (figura 6).

Si hemos instalado varias imágenes (en ~/.squeak/) al lanzar la máquina virtual se nos ofrecerá la posibilidad de seleccionar qué imagen deseamos ejecutar (figura 7).

 

III. Los duros hechos

Todos los conocemos: esos alumnos desertores viscerales de la escuela que luego son capaces de repetir sin pestañear las alineaciones completas de todos los clubes de primera y segunda división o el plano completo de los reinos del Señor de los anillos. Alumnos a los que no se les saca una frase en inglés y luego son capaces de desentrañar el sentido de un abstruso texto en imitación de inglés medieval para avanzar en el juego de rol. O robar contraseñas del messenger (bueno, eso ya no tiene mucho mérito). Anotemos la forma en que plantea el problema Papert: «al intentar enseñar a los niños lo que los adultos quieren que aprendan, ¿utiliza la escuela los métodos a los que naturalmente acuden los humanos cuando aprenden en situaciones no relacionadas con la escuela?»[8].

Otro hecho: qué absurdos son los pasatiempos. ¿Qué sentido tiene romper una foto en fragmentos para que otra persona recomponga la frase original? ¿qué sentido tiene cambiar el orden de unas palabras en una frase, o borrar una de cada x palabras, para luego no llegar más allá que a la frase original? Qué absurdos son algunos ejercicios y qué inútiles son algunos exámenes.

Otra: confieso que he vivido, que he visto flotas enteras arder en galaxias... digo... he visto justificar como trabajo con los ordenadores hacer a los alumnos copiar con un editor de texto los ejercicios del libro. Todos nos escandalizamos, pero lo que hace este profesor es sólo llevar al extremo la tendencia generalizada a repetir las formas de la enseñanza tradicional con nuevas herramientas.

Más: qué bonitas son algunas animaciones, esas páginas web con profusión de flash... nosotros nunca llegaremos a hacer cosas de ese nivel. Menos mal que se pueden alquilar, y pagaremos por el uso de repositorios llenos de recursos cómodos de utilizar. Qué escuela más moderna será aquella en la que los ordenadores saluden «hola, Juanito», hoy te toca realizar la tarea 33 del nivel 5, todo muy multimedia y estándar IMS LD, usabilizado y afectivizado con la garantía de la empresa X.

 

IV. El razonamiento

Aprendizaje constructivo. Todos, todos los artículos de pedagogía empiezan así. Con la lista de santos padres, Piaget, Ausubel, Bruner. Y tras el paso al cibermundo, Papert y Kay. No sé si la pedagogía del siglo XX algún día llegará a ser una ciencia y si será bueno seguir troceando conocimientos cada vez más profundos acerca de casi nada, pero la labor de un profesor de secundaria que escribe artículos es picotear, buscar una perspectiva y hablar todo lo claro que sea posible.

Cuando una hipótesis científica se convierte en retórica pedagógica hay que repensarla. Volver al principio, plantarse la cuestión del modo más sencillo: los filósofos saben que todo conocimiento es construcción al menos desde Descartes (por no aventurarme a asegurar como hacía el otro que todo está en Platón). Es curioso el hilo de continuidad entre geómetras que podemos establecer, y si no me creen, lean esa cita: «Toda auténtica definición científica es genética: no se limita a copiar un objeto existente, sino que pone de manifiesto las leyes de su propia formación. Así, por ejemplo, no basta con explicar la circunferencia como una figura en la que todos los puntos se hallan situados a la misma distancia del centro común, pues lo que con ello designamos no es más que una cualidad concreta de la circunferencia, que no constituye, ni mucho menos, su esencia conceptual. Para captar ésta es necesario indicar la regla de la construcción de la circunferencia, explicarla, por tanto, como aquella figura geométrica que nace mediante el movimiento de rotación de una línea recta en torno a uno de sus dos puntos extremos, considerado como fijo».

Dejo para la nota a pie de artículo la respuesta a la pregunta de a quién corresponde la cita[9]. El texto lo que me sugiere intensamente es que el ordenador es la máquina que buscaba el filósofo, la herramienta que va a conseguir que los niños comprendan en toda su dimensión qué es una circunferencia. El texto está muy cerca incluso en el lenguaje de la evidencia de las ideas poderosas de Papert: devolverle su cuerpo a las matemáticas, el movimiento de la tortuga crea la circunferencia.

 

V. La promesa

Hemos estado hablando de lo que es Squeak en el sentido de cómo está hecho, no de lo que pretende ser. ¿Para qué se desarrolla Squeak?

Papert y Kay[10] parten de una crítica a las formas de enseñanza de la escuela tradicional y al uso que se ha hecho de la tecnología en las aulas. Debemos intentar resumir la crítica, porque es posible -sólo posible, que nadie se enfade- que estemos decidiendo si se van a usar rincones de trabajo en nuestras aulas o un laboratorio de informática, sin la necesaria reflexión previa.

¿Cuántos ordenadores? En primer lugar nadie cree en la magia: la inversión económica, la simple presencia de los ordenadores, no cambia la forma de enseñanza/aprendizaje. El laboratorio de informática constituye la reacción de la escuela tradicional ante la presencia de los ordenadores: «en lugar de atajar y desafiar así la misma idea de fronteras entre materias, el ordenador se convertía en una nueva materia».

Una de las ideas clave se puede resumir en el siguiente razonamiento de Kay: tendemos a confundir el piano con la música. Obligamos a los alumnos a «dar piano» antes de que amen la música, con la consecuencia de que frecuentemente se alejan de la música para siempre. El ordenador es el mejor piano inventado, pero sin despertar el deseo de aprender y de expresarse, la exigencia de «dar informática» no causará más que aturdimiento.

Repitámonos la pregunta: ¿Tiene sentido una escuela en la que haya un máximo de tres lápices por aula o se guarden encerrados en una habitación especial que se visita esporádicamente? ¿Cuántos ordenadores son necesarios para que cambie la forma de dar clase? Los que permitan (1) la disponibilidad del ordenador la mayor parte del tiempo y (2) el desarrollo del sentimiento de identidad intelectual. En eso insiste Kay: «puedes poner un piano en cada clase, y eso no te dará una cultura musical desarrollada, porque la cultura musical está en las personas (...) Lo importante aquí es que la música no es el piano. Y el conocimiento (...) no está en el ordenador. El ordenador no es más que un instrumento cuya música son las ideas».

¿Para qué Squeak? Escuchemos a Papert: «Me fijé el objetivo de luchar para crear un entorno en el cual todos los niños -cualquiera que fuese su cultura, género y personalidad- pudieran aprender álgebra y geometría, ortografía e historia de una manera más parecida al aprendizaje informal del niño no escolarizado o del niño excepcional que al proceso educativo que se sigue en las escuelas».

Como señalan Allen-Conn y Rose en su Ideas poderosas, Papert pensó que el estudio de ideas poderosas a través del ordenador, además de la ayuda de otras actividades, podrá servirle a los niños como instrumento para hacer frente a sus intuiciones. Pensó que los ordenadores podían ser de ayuda para los más jóvenes, al permitirles exteriorizar sus expectativas intuitivas usando materiales computacionales tales como simulaciones y modelos. De esta manera podrían ser capaces de reconsiderar o remodelar su conocimiento intuitivo.

 

VI. Y en el próximo número...

Hemos empezado a examinar qué es Squeak y las razones que explican su desarrollo. Pero nos queda responder a la pregunta clave: ¿cumple Squeak su promesa, responde o se acerca a responder a las ambiciosas expectativas que despierta? Squeak pretende, no que los alumnos aprendan a programar, sino que los alumnos programen para aprender, ¿es esto absurdo? ¿o implica un esfuerzo que escapa a las posibilidades de nosotros los profesores? Este será el tema del siguiente número. Nos vemos.

Pasar a Esto es lo que hay (segunda parte del artículo)

 

Imágenes

Figura 1: Esto es Squeak.

Figura 2: Jugando con texto.

Figura 3: Imagen de Squeak en francés.

Figura 4: El plugin en acción.

Figura 5: Buscando paquetes con SqueakMap.

Figura 6: Importando un proyecto.

Figura 7: Selección de la imagen que ejecutar.

 

Cuadro

La licencia de Squeak

No es que el de la licencia de Squeak (conocida como Squeak-L) sea un tema recurrente, es que es un tópico permanente que ha aparecido en las listas de sl-educación (diciembre de 2003),Skolelinux/Debian-edu (marzo de 2004), Debian-legal (abril 2004)...

El texto en inglés de la licencia está en http://squeak.org/SqueakLicense/ y la licencia y sus problemas se comentan en http://minnow.cc.gatech.edu/squeak/159. Para comprender las dificultades que implica hay primero que familiarizarse con la historia de Squeak, para lo que es útil visitar http://minnow.cc.gatech.edu/squeak/389 (para la prehistoria bien vale http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html).

«Squeak comenzó de forma muy sencilla, a partir de las necesidades de un grupo de investigación en Apple. Queríamos que un sistema tan expresivo e inmediato como Smalltalk pudiera conseguir varios objetivos en cuanto a las aplicaciones desarrolladas: prototipos de software educativo, experimentos con la interfaz de usuario y (seamos honestos) otro intento en el tema del Dynabook» (su primer proyecto de ordenador personal, ver http://swiki.agro.uba.ar/small_land/64; la cita procede de http://minnow.cc.gatech.edu/squeak/158).

Con el paso del tiempo Apple se desinteresó por el proyecto, y Kay y su equipo pasaron a trabajar para la Disney desarrollando la aplicación; actualmente el trabajo se realiza entre Hewlett Packard y el Instituto Viewpoints Research (http://www.viewpointsresearch.org/). Pero el copyright sigue perteneciendo a una empresa a la que no le interesa y que por tanto no va a modificar.

Escribe el departamento legal de la sección europea de Apple a Knut Yrvin (de Skolelinux) en marzo de 2004: «Squeak es un producto obsoleto [sic] que ya no desarrolla Apple, y por tanto no es factible que reexaminemos o modifiquemos los términos de la licencia usada por Squeak. No obstante la comunidad de Squeak de los Estados Unidos está explorando la posibilidad de usar la opción de relicenciamiento contemplada en la licencia de Squeak para permitir que una tercera parte acepte la cláusula de indemnización, y permitir así a proyectos del estilo de Debian incluir Squeak con una licencia derivada (downstream» ¿se traduce aquí por derivada?, no soy abogado).

Ese es el primer problema, acompañado por el hecho de que Smalltalk y el origen de Squeak datan de los años setenta y por tanto son anteriores y ajenos al origen del movimiento del software libre. Otro aspecto que sólo puede interesarnos por razones históricas es el los tipos de letras empleados. Los tipos propiedad de Apple hace tiempo que dejaron de utilizarse y por lo tanto el problema ya no existe.

Como señalaba Gregorio Robles en el 2003 «El mayor problema de la licencia de Squeak está en la cláusula de indemnización. Esta cláusula hace que, por ejemplo, Debian no lo incluya en su distribución: http://lists.debian.org/debian-legal/2001/debian-legal-200110/msg00028.html» (para el examen en la lista de discusión legal de Debian ver también http://lists.debian.org/debian-legal-0404/msg00160.html y http://lists.debian.org/debian-legal-0404/msg00242.html). ¿Qué dice la famosa cláusula 5? Que quien acepte la licencia deberá indemnizar a Apple por los daños, responsabilidades, costes, etc. que resulten de reclamaciones efectuadas por terceras partes contra Apple que se deriven del uso, distribución o modificación del software de Squeak por el licenciatario (y potencialmente sus sublicenciatarios). Que si un alumno crea un mundo que de alguna manera ocasiona perjuicios contra alguien y eso acaba en una reclamación contra Apple, el que deberá asumir los costes es quien haya aceptado la licencia y haya distribuido el código de Squeak.

La cuestión que discutimos no es si Alan Kay y los desarrolladores de Squeak sienten o no que su programa es libre, que podemos estar convencidos de que lo sienten, ni es la probabilidad de la reclamación, sino si la cláusula hace o no libre la aplicación. Y creo que podemos concluir que no es libre en el sentido del software libre de la FSF y de Debian. Squeak es casi-libre. Que esto implique que no se pueda o deba utilizar en nuestras clases es otro debate; claro que si escribo sobre Squeak mi opinión es fácilmente deducible.

 

Notas

[1] Alan Kay, entrevistado por Lars Kongshem, FACE to FACE: Alan Kay Still waiting for the Revolution (http://www.squeakland.org/school/HTML/essays/face_to_face.html). No vamos a explicar aquí quienes son Kay y Papert, para eso están google, la wikipedia y el resto de la documentación publicada.

[2] De pronto Squeak se ha convertido en una utilidad bien documentada incluso en castellano, y con una rica comunidad hispana de desarrolladores y usuarios, galerías de recursos, etc. Por supuesto hay que comenzar citando Small-Land (http://www.small-land.org/), el núcleo argentino donde durante desde hace años se trabaja en Squeak. Y las páginas sobre Squeak consecuencia de la apuesta de la administración extremeña por el software educativo libre y en concreto por este entorno: Extremadura y Small-Land (http://squeak.linex.org/), la bitácora dedicada (http://squeak.blog.com/) o Squeakpolis (http://squeak.educarex.es/Squeakpolis, inciativa de Antonio Moreno), donde podemos encontrar un listado más exhaustivo de enlaces, artículos, proyectos...

Corrección de error: el 18 de abril de 2006, en «La enseñanza en el siglo XXI. Blog sobre Squeak de la Universidad de Santiago de Compostela», Fernando Fraga y Adriana Gewerc reivindican su independencia de la «apuesta de la administración extremeña». Tienen razón, es un error que aquí (y en aquel hilo) rectificamos con gusto.

Hay también libros completos libres: Ideas poderosas en la clase, traducción al español del libro «Powerful Ideas in the Classroom», de B.J. Allen-Conn y Kim Rose(http://swiki.agro.uba.ar/small_land/uploads/193/Libro_Completo.pdf); un CD descargable con libro en pdf, proyectos y una imagen, creado por un equipo de docentes de Badajoz (Fueyo Díaz, Pizarro Galán, Prudencio Conejo, Roldán Cuerpo, Torres Escobar): http://www.small-land.org/libro-badajoz/cdrom.tar.gz; finalmente el libro editado por Editlin Squeak: un mundo para aprender, de los mismos autores más Paniagua Navarro: se pueden bajar PDFs con los borradores de los capítulos desde http://www.small-land.org/SqueakUnMundoParaAprender.

[3] En http://minnow.cc.gatech.edu/squeak/2381 tenemos una creíble explicación del nombre, según mensaje de Alan Kay a la lista de distribución de Squeak el 14 de marzo de 2002: «Era el nombre de la carpeta de mi Mac en la que a principios del 96 solía guardar los nuevos ficheros de sistema para tenerlos separados de los otros Smalltalks que había en mi máquina. Disney ya nos estaba intentando atraer por aquel entonces y pensé que pasara lo que pasara habría algún ratón en el futuro de este sistema. Un mes o dos después surgió la cuestión del nombre para el sistema en una reunión del grupo y dije que había estado usando el nombre de Squeak. A todo el mundo le gustó y así se quedó».

[4] «Squeak es una implementación completa del lenguaje de programación y entorno Smalltalk basada en el sistema original Samlltalk-80 (y altamente compatible con él)» (http://www.squeakvm.org/unix/).

[5] Sobre los eToys, http://swiki.agro.uba.ar/small_land/18. Sobre Ensayos activos, http://swiki.agro.uba.ar/small_land/19.

[6] http://community.ofset.org/wiki/Squeak.

[7] http://minnow.cc.gatech.edu/squeak/SqueakMap.

[8] Seymour Papert, La máquina de los niños (1993), pg. 19. de la traducción española, ed. Paidós.

[9] ¡Spinoza, Tractatus de intellectus emmendatione, parágrafos 50ss., parafraseado en lenguaje kantiano por Ernst Cassirer en El problema del conocimiento, tomo II, pg. 25ss. de la edición de Fondo de Cultura Económica!

[10] Para este resumen hemos utilizado citas de Papert, ib., y de Kay, http://www.squeakland.org/school/HTML/essays/essays.html.