jueves, 8 de octubre de 2009

Sesión 11. Los simuladores en la Educación

Un recorrido por FMSLOGO y SCRATCH

Los lenguajes de programación que se utilizan para la simulación, son bastante complejos; sabemos que desde los años sesenta, Fortran y otros lenguajes son usados para programas de simulación de propósito general. Ellos requieren de conocimientos muy amplios del lenguaje para poder usarlos. En años recientes y ante el enorme reto de brindar no solo una educación de calidad, sino de brindar los espacios para el desarrollo de una cultura científica y tecnológica; es que se produce nuevo software que permite incluso a los niños, manipular objetos digitales y darles animación o tomar el control de ellos, por medio de reglas sencillas, “visuales” y sin tanto código. Entornos de programación en ambientes multimedia, intuitivos y al nivel de usuario de un niño entre 6 a 10 años. Dos son los entornos que navegaremos, para conocer su funcionamiento, cuando menos en forma limitada: Fmslogo y Scratch .


FMSLogo

Originalmente se llamo MSWLogo y estaba basado en otro proyecto denominado UCBLogo; los autores George Mills y Brian Harvey, ( FMSLogo, 2009). Los programas basados en la idea de Logo de Seymur Pappert, fueron creciendo y así tenemos: FMSLogo, LogoWriter, WinLogo, Logo Gráfico, XLogo, MSWLogo, LogoEs y Kturtle. FMSLogo es un lenguaje interprete, es decir, que ejecuta cada línea de código tal y como está escrita, con la ventaja de que no requiere un compilador para ejecutar programa cada que se inserta una nueva instrucción; esta corre inmediatamente en el área de visualización o salida. Convirtiéndolo en un programa que sirve para que los estudiantes aprendan programación y usen sus programas con diversos fines, uno de ellos es la simulación. La idea básica de manejar una “tortuga” para ir generando las instrucciones de forma gráfica, ahora puede modificarse cambiándola por una figura o por el trazo de una pluma. A través de la tortuga se manipula la pantalla. Al escribir una instrucción, el alumno recibe inmediatamente una retroalimentación de su comando, al presionar “enter” o “ejecutar”. Todos los procedimientos se pueden editar previamente y estos comienzan con un TO y terminan con un END. La idea de la instrucción TO es que se haga algo, y la de END para indicar que ahí termina la acción. La pantalla de inicio empieza en blanco con un triángulo ( la tortuga) que es la que se moverá de acuerdo a nuestra instrucciones. Así se mira uno de los ejercicios incluidos en el programa en su entorno:














Los comandos comunes son los siguientes:

FORWARD ( FD num ). Mueve la tortuga un número de pixels hacia adelante

BACKWARD (BK num) . Mueve la tortuga hacia atrás

LEFT (LT num). Gira la tortuga a la izquierda un número de grados

RIGHT (RT num). Gira la tortuga a la derecha

La prueba que hicimos con MSWLogo fue el siguiente: nos intereso probar la línea de comandos y nos fuimos directamente a las instrucciones sin crear un procedimiento, la idea era dibujar una espiral; entonces, desde la línea de comandos insertamos una a una las líneas de instrucción siguientes:

FD 10 LT 90 FD 20 LT 90 FD 30 LT 90 FD 40 LT 90 FD 50

LT 90 FD 60 LT 90 FD 70 LT 90 FD 80 LT 90 FD 90 LT 90 FD 100

se pusieron en linea pero cada instrucción va por separa ( solo para efectos de este blog)

El resultado fue el siguiente:

Otros ejemplos encontrados en internet muestran lo potente que puede ser el programa para hacer infinidad de cosas, desde el simple dibujo con la línea de comandos, hasta complejas representaciones en 2 y en 3 dimensiones.








Scratch


El programa fue desarrollado bajo la misma idea de LEGO, para que los niños pudieran, construir y programar robots, tal como con los bloques del mismo juego. El hecho es que ahora controlan a los objetos de manera virtual, y el programa les da la posibilidad de crear sus propios personajes u objetos y darles animación o propiedades. La idea fundamental del software es que los niños de hoy tienen una educación que no es lo suficientemente activa, para responder a sus necesidades crecientes de conocimiento y trabajo independiente. Los proyectos en Scracht les permiten crear interactividad y resolver problemas por ellos mismos, orientándolos al uso de las matemáticas y una cultura tecnológica. Sus creadores son Michel Resnick, Brian Silverman, Jhon Maloney y colaborad

ores; todos del Media Laboratory MIT.La base del programa esta escrito en Squeak (una implementación del programa Smalltalk) , puede correr casi en cualquier plataforma. Utiliza una interfaz “visual” y al estilo de SategeCast todo viene con elementos icónicos que nos permiten asignar reglas, c

omo el movimiento, apariencia, o asignación de sonidos, etc.

También podemos ver en la figura cómo son los botones que sirven para asignar reglas de funcionamiento a los objetos, estos aparecen en el lado izquierdo:


Con la ayuda de los manuales entendimos como funciona el programa y nos dimos a la tarea de utilizar el mismo objeto ( el gatito ) para asignarle movimiento cada que se presionara las flechas de arriba, abajo, izquierda y derecha, a su vez el bloque pedía que también girara un número de grados.

Entonces lo único que hicimos fue arrastrar los bloques al panel

de control y fuimos creando los “bloques “ y poniéndolos uno sobre otro , como en el LEGO, de tal manera que se asociaron las instrucciones de movimiento y girar, a la tecla de cada fecha. El trabajo final quedo así, y pudimos constatar el control del objeto con las flechas.



Conclusiones

Los programas que hemos revisado nos proporcionan una idea del potencial que tienen en la educación, sobre todo en las etapas primeras de los niños. Abrir el mundo de la programación, del pensamiento algorítmico es una de las apuestas de sus diseñadores, y sobre todo como dicen ellos, tenemos que pensar como si fuera el jardín de niños, donde aprendemos con los otros, y manipulamos objetos, construimos mundos virtuales, y lo mas importante de todo: nos divertimos mucho en el proceso, es nos pasó a nosotros y espero que a los que incursionen por este sendero les pase lo mismo.




Referencias

FMSLogo, 2009. FMSLogo. Recuperado el 7 de octubre de 2009 de:

http://www.fmslogo.org/index2.html


Scratch 2009. Scratch. Recuperado el 7 de octubre de 2009 de :

http://scratch.mit.edu/

domingo, 4 de octubre de 2009


Sesión 10. Los simuladores en la educación
Durante esta sesión, las actividades giran alrededor de la simulación, como elemento importante dentro de las estrategias en el campo educativo. Dos definiciones importantes dentro de la teoría de sistemas( Mi tecnológico, 2009) son las siguientes:
- Simulación es una técnica numérica para conducir experimentos en una computadora digital. Estos experimentos comprenden ciertos tipos de relaciones matemáticas y lógicas, las cuales son necesarias para describir el comportamiento y la estructura de sistemas complejos del mundo real a través de largos periodos de tiempo.
Thomas H. Taylor -

- Simulación es el proceso de diseñar y desarrollar un modelo computarizado de un sistema o proceso y conducir experimentos con este modelo con el propósito de entender el comportamiento del sistema o evaluar varias estrategias con las cuales se puede operar el sistema.
Robert E. Shannon -

Podemos decir que la simulación se da en dos escenarios: uno para eventos discretos y otro para eventos continuos, ambos se pueden simular en la computadora. Dado que la computadora si bien puede emular los eventos continuos, su principal ventaja esta en los eventos discretos. Partiendo de este hecho, la simulación se divide en dos vertientes: la simulación de propósito general, y la de propósito específico. El software de simulación de propósito específico generalmente es menos complicado para utilizar, dado que viene en “paquetes” que se pueden combinar, para obtener un resultado específico. Los de propósito general son complicados en su mayoría y requieren de conocimientos de programación y de un pensamiento sistémico y orientado a los objetos. La última división de la simulación, puede encaminarse a usar agentes (objetos) que interactúan con su entorno de acuerdo a ciertas reglas que se le asignan; la otra orientación es a los eventos o procesos, en los cuales una vez definidas las relaciones de interactividad entre entidades, podemos seguir el “flujo” de acciones a través del tiempo. Así, en esta última división, se utilizan los diagramas de flujo, las redes y las instrucciones que proporciona el usuario para que empiece a simularse el evento o proceso.

La lista de software sigue creciendo y solo mostramos unas cuantas ligas:

CreditSim
Dynasys
Extend
GAMMA- Das PC-Werkzeug für vernetztes Denken
Millenniu m Institute: Threshold 21
Modeling with Molecules
Powersim
Powersim USA
SD-Software
SDML
SimApp: Simulationssoftware
STELLA®: Software for Education
Vensim® Personal Learning Edition


En lo particular para esta sesión nos tocó explorar tres software de simulación que a continuación describimos:


Stagecast Creator


Este software de simulación, esta orientado a niveles básicos de educación. En el salón de clases y orientado por el maestro, los niños pueden crear sus propias simulaciones con los escenarios provistos por el paquete, y con objetos ya diseñados, aunque también se pueden crear nuevos objetos o agentes. La asignación de propiedades y de interacción se da de manera visual de tal forma que los niños solo tienen que saber como asignar reglas o propiedades a cada objeto en el escenario, y saber que estas tienen un orden, de ahí en adelante solo es cuestión de creatividad, de imaginación, esto fortalece el pensamiento de orden superior.
El software de prueba trae un tutorial interactivo, donde se puede aprender de manera visual, como funciona el programa. Así podemos ver en una parte de el, como se asigna la regla de que un personaje se mueve en el escenario a la derecha (mientras no tenga obstáculos). Existen una variedad de recursos, como puertas para entrar a otros escenarios, una ventana donde se ven todas las reglas que se le aplicaron a los objetos, y algo interesante: se pueden agrupar las acciones por paquetes. Algo muy común en la programación orientada a objetos en los lenguajes como Java o C++.
Como el software de prueba solo permite asignar un máximo de 10 reglas a los objetos, se realizó el ejercicio básico de asignar movimiento a tres estrellas , y cuando estas se tocaran , saltaran una en otra. La estrategia fue poner las estrellas en línea y darles movimiento solo a las de los extremos y dejar fija la de en medio, asignando dos reglas únicamente: una para mover ya sea a la derecha o la izquierda dependiendo de la estrella y otra que al tocar la estrella central estas brincaran sobre ella. Un trabajo sencillo pero bastante ilustrador de las potencialidades del software.




Stella



Es un software de simulación que maneja flujos de relaciones entre eventos o procesos, o los modelos dinámicos se pueden ver en una interfaz que da el gráfico de relaciones entre las variables expuestas o en el mismo diagrama de flujos o redes, donde se ve como van cambiando de acuerdo a las condiciones iniciales que se le asignen. Este tipo de software responde a la pregunta de ¿qué pasa si...?, de tal manera que el alumno puede ir explorando el proceso hasta llegar a descubrir las reglas o las leyes detrás de la simulación. Desde la biología hasta la economía, la simulación con este software de propósito general sigue creciendo; sin embargo no es tan sencillo su manejo. Una ventana de ejemplo tomada de la página oficial de Stella se ve como sigue. Los procesos se definen, y solo se va colocando las relaciones y las condiciones iniciales de cada una de ellas; las relaciones pueden ser tan complejas como se desee, y en caso de alguna inconsistencia con las relaciones, el mismo software manda una alerta, para que se revise. Mostramos otra de las ventanas de salida del programa.




NetLogo



Es un software libre, inspirado en LOGO, en donde se puede programar un modelo de simulación de ambientes naturales o sociales, orientado a los modelos complejos, también se basa en el manejo de agentes (como el de la tortuga en LOGO), se puede analizar la interacción entre múltiples agentes y explorar las conductas en diferentes ambientes. Se incluyen modelos de ejemplos que van desde la biología, química, matemáticas y ciencias computacionales. Una aplicación es HubNet que permite usar en red el software. Los autores mencionan que es un lenguaje de modelación multiagente, y fue escrito en Java; puede correr en múltiples plataformas. La idea de funcionamiento esta basada en cuatro típos de agentes: turtles, patches, links, y el observador. Las tortugas son agentes que se mueven en el escenario de dos dimensiones que está dividido como una malla, que determina posición y estado. Todos los agentes interactúan simultáneamente. Aunque el producto final se ve bastante práctico para usarlo, la programación no es tan fácil, y requiere de conocimientos básicos de programación; un ejemplo de cómo se ve una parte de un programa es el siguiente:

end
to draw-polygon [num-sides len]
pen-down repeat num-sides [ fd len rt 360 / num-sides ]
end

Pero para una simulación compleja se requieren de cientos de estas líneas de código. Uno de las actividades que realizamos fue el de interactuar con NetLogo en uno de los ejemplo ya realizado, referidos a la simulación del contagio del VIH. Una vez que abrimos la aplicación se nos mostró un panel con botones y deslizadores, que nos permiten cambiar las condiciones iniciales de los agentes; así, empezamos a experimentar con las diversas condiciones, como el úso de preservativo o el número inicial de personas infectadas. En una parte de la ventana se visualiza la relación gráfica entre los agentes y en una de las opciones vemos cómo la población infectada llega a proporciones increíbles de hasta el 90%; pero como la idea era experimentar con la variables, llegamos a un punto en que la gráfica se mantenía estable y pareciera ser que el contagio se minimizaba o mantenía estable.

Conclusiones

Podemos decir que los simuladores presentan experiencias de aprendizaje ricas en procesos, pero necesariamente tienen que estar acompañadas de reflexiones, información teórica y discusiones que permitan consolidar los aprendizajes y desarrollar el pensamiento crítico en los estudiantes. Como experiencia de aprendizaje consideramos que los simuladores nos brindan la oportunidad de comprobar o refutar hipótesis, que en la vida real resultarían demasiadas costosas o inviables. La simulación que nos ofrecen las nuevas tecnologías, por medio de la computadora, son una poderosa herramienta que se puede utilizar en el aula, bajo diversas modalidades, Es claro que el docente debe estar más preparado para incorporar estas herramientas, caso contrario vendría una frustración y un tremendo fracaso, incluso la desacreditación frente a los alumnos y la comunidad académica. Es un riesgo personal e institucional, y que no depende solo de la capacitación, son muchos factores inherentes a la propia incorporación, Uno de ellos y que hemos comentado entre pláticas docentes, es que lo primero que debemos hacer es empezar a formar un pensamiento sistémico en el estudiante; enseñarlo a pensar de manera lógica y heurística; de otra forma, la incorporación de la simulación será a su vez un fracaso. Otro aspecto importante es la lucha contra todo un sistema educativo que se ha empeñado en alfabetizar para la lecto-escritura, dejando de lado la formación (en serio) del pensamiento abstracto; esto solo lo deducimos de los exámenes diagnósticos de los alumnos de nuevo ingreso. Debemos atender primero a las competencias iniciales de los alumnos, que sepan que hacer y como hacer, que aprendan a colaborar y sacar provecho de su zona de desarrollo próximo. Así potenciaremos el aprendizaje constructivista, por descubrimiento y colaborativamente; ése es el potencial de la simulación por computadora.

Referencias

Mi tecnológico (2009). Simulación. Consultado el 3 de octubre de 2009 de:
http://www.mitecnologico.com/Main/DefinicionEImportanciaSimulacionEnIngenieria

Ligas de consulta de software de simulación

http://www.stagecast.com/creator.html

http://ccl.northwestern.edu/netlogo/

http://www.iseesystems.com/