Planificación colaborativa del diseño para el aprendizaje de

Anuncio
PLANIFICACIÓN COLABORATIVA DEL DISEÑO PARA EL APRENDIZAJE DE LA PROGRAMACIÓN
Miguel A. Redondo
Departamento de Informática
Universidad de Castilla – La Mancha
España
Miguel.Redondo@uclm.es
Antonio J. Mendes
Departamento de Engenharia Informática
Universidade de Coimbra
Portugal
toze@dei.uc.pt
María J. Marcelino
Departamento de Engenharia Informática
Universidade de Coimbra
Portugal
zemar@dei.uc.pt
Crescencio Bravo
Departamento de Informática
Universidad de Castilla – La Mancha
España
Crescencio.Bravo@uclm.es
Manuel Ortega
Departamento de Informática
Universidad de Castilla – La Mancha
España
Manuel.Ortega@uclm.es
RESUMEN
Los sistemas que desplazan el énfasis del proceso de enseñanza y aprendizaje hacia el aprendiz situado
en el contexto de una comunidad que trabaja conjuntamente compartiendo herramientas, ideas y
experiencias se consideran eficientes y efectivos para el proceso de construcción del conocimiento. Las
nuevas tecnologías deben facilitar la implantación de este tipo de sistemas para el aprendizaje presencial
y a distancia. En este trabajo nos planteamos describir cómo el concepto de Planificación Colaborativa
del Diseño introducido en el entorno DomoSim-TPC puede aplicarse al aprendizaje de la programación.
Del mismo modo, señalamos los cambios más significativos que debe sufrir dicho entorno y qué
herramientas debería integrar para soportar el aprendizaje en grupo de la programación, con el objetivo
de construir un prototipo que nos permita realizar experiencias entre la Universidad de Coimbra (Portugal)
y la Universidad de Castilla – La Mancha (España) y obtener conclusiones sobre la efectividad de dicho
concepto.
INTRODUCCIÓN
Las herramientas que sitúan el énfasis del proceso de aprendizaje en el aprendiz, convirtiéndolo en un
agente activo de dicho proceso, se consideran entornos efectivos y eficientes, ya que facilitan la
consecución de los objetivos didácticos con precisión y plenitud en relación a los recursos empleados.
Los trabajos realizados por de Jong y sus colaboradores (de Jong, van Joolingen, Pieters & van der Hulst,
1993) en torno a los sistemas que potencian el aprendizaje por descubrimiento, materializan y
demuestran la afirmación anterior. En este sentido, algunos entornos de diseño y simulación como el
entorno SMISLE (de Jong, van Joolinger & King, 1997) constituyen una referencia excelente.
Sin embargo, un entorno de diseño y simulación por sí solo no ofrece un método de aprendizaje
adecuado, debido a que el proceso lo dirige la persona que está aprendiendo. Además, en estos
entornos, por lo general, no queda registrada la estrategia y los pasos de resolución que el alumno va
trazando. Es necesario controlar la excesiva libertad que ofrecen los sistemas de simulación durante la
fase de diseño del modelo a estudiar, que en un número considerable de casos conducen al aprendiz a
una situación de fracaso. Para resolver este problema, Bonar fundamenta la solución a un problema de
diseño en el seguimiento de una serie de pasos de refinamiento sucesivo, que van desde una idea
expresada en términos de lenguaje natural hasta la solución concreta (Bonar & Cunningham, 1988).
Otros trabajos proponen posturas intermedias entre los postulados de Bonar y la libertad ofrecida por los
métodos basados en simulación (Bravo, Ortega & Verdejo, 1999). En particular, proponen añadir a los
entornos de modelado la posibilidad de que el alumno planifique sus acciones de diseño, a modo de
lenguaje de representación intermedio (Soloway, 1986). El proceso de planificación del diseño se
monitoriza utilizando una memoria de conocimiento proporcionada por expertos en el dominio,
convirtiendo la relación entre computador y estudiante en una metáfora de la que hay entre profesor y
alumno. De esta forma, es posible obtener mejores respuestas a los problemas planteados. El sistema
puede comparar las soluciones propuestas por el alumno con las propuestas por el experto, ambas
expresadas en un lenguaje de representación intermedio, lo que facilita que dicha comparación se centre
en aspectos relevantes, descartando otros menos significativos. Tanto las acciones de planificación como
las de diseño y simulación, con la oportuna estructuración, se pueden registrar en el sistema. Así, el
profesor u observador, con ayuda del sistema, puede reconstruir el razonamiento seguido por el alumno
(Boder, 1992). Las ideas de planificación del diseño y monitorización se han aplicado y validado como
solución intermedia a problemas en dominios de aprendizaje del diseño de instalaciones domóticas
(Bravo, 1999).
Las teorías anteriores estaban planteadas desde un punto de vista de aprendizaje individual y no
consideraban el concepto organizativo y social del aprendizaje, y por extensión de trabajo en grupo. Para
solventar estas deficiencias nos apoyamos en los principios del paradigma CSCL (Computer Supported
Collaborative Learning) (Koschmann, 1996), basado en una visión sociocultural de la cognición para
enriquecer los contextos interpersonales del aprendizaje. De este modo, entendemos el aprendizaje
como un proceso social y distribuido, donde se tiene en cuenta, además de los productos generados, el
diálogo de los participantes que se produce de forma cooperativa en una actividad de aprendizaje. En
este proceso, tanto el profesor como la tecnología, tienen un papel mediador de facilitación cognitiva y
social. Siguiendo con el trabajo iniciado por Bravo y con el objetivo de enriquecer el proceso de
aprendizaje las aportaciones que se derivan del Aprendizaje Colaborativo como modelo de instrucción
(Vygotsky, 1978; Slavin, 1983) se desarrolló DomoSim-TPC1 (Bravo et al, 2000). Este sistema está
destinado a dar soporte para el aprendizaje colaborativo del diseño domótico a distancia mediante la
resolución de actividades de resolución de problemas (Jonanssen, 2000; Redondo et al, 2003). Estos
problemas requieren la planificación de una solución, el desarrollo de la misma y su simulación para
verificar que satisface una especificación inicial.
Actualmente, nos planteamos aplicar el concepto de Planificación Colaborativa del Diseño tal y como se
interpreta en DomoSim-TPC a otros dominios. En particular, pretendemos estudiar cómo aplicarlo para el
aprendizaje en grupo de la programación estructurada y los cambios necesarios en la arquitectura del
sistema anteriormente desarrollado para soportarlo.
1
http://chico.inf-cr.uclm.es/domosim
En el siguiente apartado se describen algunas herramientas destinadas al aprendizaje de la
programación desde un punto de vista individual. Seguidamente describimos el concepto de Planificación
Colaborativa del diseño y cómo se materializa en DomoSim-TPC. A continuación se discute la forma en
que la infraestructura desarrollada para el sistema anterior puede adaptarse y emplearse para el
aprendizaje en grupo de la programación. Finalmente terminamos destacando algunas conclusiones
derivadas de este estudio y apuntando líneas de continuación de este trabajo.
ANTECEDENTES EN MATERIA DE APRENDIZAJE DE LA PROGRAMACIÓN
Aprender a programar es un proceso difícil y para que un alumno inexperto se convierta en un buen
programador tendrá que adquirir una serie de habilidades. Contrariamente a lo que muchos alumnos
inicialmente piensan, aprender a programar es algo más que aprender la sintaxis de un lenguaje de
programación. Esto último, normalmente, es la parte más fácil. La experiencia ha demostrado que las
mayores dificultades observadas en los alumnos residen en su baja capacidad de utilizar esos lenguajes
para escribir programas que resuelvan problemas de forma eficaz. Simplemente, la aplicación de
nociones básicas como las estructuras de control o el diseño de algoritmos que resuelvan problemas
concretos, genera desafíos difíciles de superar para muchos estudiantes. Estas dificultades aparecen con
independencia del lenguaje o del paradigma de programación utilizado (procedimental, orientado a
objetos, etc.).
Las razones para estas dificultades son muy variadas. Muchos autores pretenden identificarlas para
buscar soluciones a las mismas y facilitar el aprendizaje de la programación. Por ejemplo, Gomes &
Mendes (1999) señalan algunas posibles razones:
Exigencia de un nivel de abstracción elevado;
Necesidad de un buen nivel de conocimiento y práctica de técnicas de resolución de problemas;
Exigencia de una visión muy práctica que difiere de otras disciplinas que se basan en nociones
teóricas muy dependientes de la lectura y memorización;
Las metodologías tradicionales de enseñanza pretenden el aprendizaje de conceptos dinámicos
utilizando materiales de carácter estático;
Los lenguajes de programación emplean sintaxis complejas y no recurren a representaciones
visuales que proporcionan mayor comprensión;
La existencia de alumnos con niveles de conocimiento muy diferentes lo cual se traduce en ritmos de
aprendizaje muy variados y tal vez descompensados;
La imposibilidad de un acoplamiento individualizado a cada alumno, debido a que los grupos de
alumnos son muy grandes.
Muchos profesores e investigadores se preocupan por la búsqueda de estrategias que le permitan reducir
algunas de estas dificultados, intentando contribuir a un mejor aprendizaje de sus alumnos. El trabajo
realizado por el grupo de la Universidade de Coimbra se centra en la búsqueda de herramientas que
faciliten el aprendizaje de los alumnos.
El hecho de que los programas sean entidades inherentemente dinámicas sugiere que sus operaciones e
interacciones sean, en general, descritas por medio de representaciones visuales dinámicas. Así, la
utilización de herramientas de visualización, animación y simulación parece ser una apuesta natural para
facilitar la comprensión de su funcionamiento. Estas herramientas se fundamentan en el mapeado de
representaciones computacionales en representaciones visuales que permiten concretizar cuestiones
abstractas, eligiendo técnicas de codificación que maximicen las posibilidades de comprensión y
comunicación humana. De esta forma es posible permitir que los alumnos observen y perciban
visualmente la forma en que funciona un determinado algoritmo. Además de comprender el
funcionamiento de los programas hechos por otras personas, los alumnos también deben ser capaces de
elaborar soluciones a problemas propuestos. Esta es claramente la gran dificultad para muchos de ellos.
La utilización de sistemas de visualización puede, también en este caso, ser muy útil, permitiendo al
alumno visualizar la forma en que se comporta su algoritmo, detectar errores, corregirlos y así aprender.
De hecho, en programación como en otros campos, un error detectado supone una oportunidad de
aprender, por lo que resulta fundamental ofrecer a los alumnos esta posibilidad. Estamos convencidos de
que las herramientas de visualización, animación y simulación de programas facilitan esta tarea. Basados
en esta convicción, durante los dos últimos años hemos desarrollado tres herramientas: EDDL, destinado
a servir de apoyo en el aprendizaje de algoritmos que utilizan Estructuras de Datos Dinámicas y Lineales,
SICAS que intenta facilitar el aprendizaje de conceptos básicos de programación procedimental, y OOPANIM que es un entorno destinado al aprendizaje de conceptos básicos de programación orientada a
objetos. A continuación se describen brevemente estos tres sistemas.
El sistema EDDL
EDDL fue desarrollado con el objetivo de apoyar a los alumnos en la adquisición de conceptos
fundamentales sobre estructuras de datos dinámicas lineales, principalmente: pilas, colas y listas lineales.
El entorno está organizado en los siguientes módulos: Conceptos introductorios, Pilas, Colas; Listas
lineales y ejercicios.
El módulo de “Conceptos introductorios” incluye un conjunto de pequeños textos y algunas imágenes
relativas a los principales conceptos relacionados con las estructuras de datos lineales, los tipos de datos
abstractos (TADs) y las cuestiones principales relacionadas con su implementación (estática y dinámica).
Los módulos relativos a las pilas, colas y listas se centran es las propias estructuras, tanto en lo que
respecta a su implementación estática como dinámica. En estos módulos se analizan con detalle cada
una de las operaciones más habituales, tales como la creación, la inserción y eliminación de elementos o
la verificación del estado de la estructura (vacía, llena, etc.).
Además, de los apartados de explicación teórica y simulación gráfica de las operaciones, cada uno de los
anteriores módulos permite acceder a una sección de ejercicios relativos a la implementación de las
operaciones estudiadas y a una sección de ejercicios relativos a los algoritmos que típicamente utilizan
estas operaciones. Los ejercicios, básicamente, consisten en completar parte del código para una
determinada operación o de un algoritmo que la utiliza. Una forma que consideramos útil para ayudar a
un alumno en el proceso de aprendizaje de la programación consiste en presentarle programas para que
los lea, que pueden estar incompletos o contener errores, y pedirle que lo complete o lo corrija.
El entorno SICAS
El entorno SICAS tiene como objetivo reforzar el aprendizaje de conceptos básicos de programación
procedimental, como son conceptos de selección y repetición. En particular, se persigue ayudar al
desarrollo en los alumnos de capacidades para utilizar estos conceptos de resolución de problemas
computacionales. SICAS no incluye contenidos teóricos sino que constituye un entorno para que los
alumnos desarrollen sus habilidades mediante la experimentación y el descubrimiento, permitiendo el
diseño y la simulación animada de algoritmos simples. De la observación y el análisis de la simulación de
los algoritmos creados. Los alumnos pueden detectar errores eventuales, buscar su origen, corregirlos y
de esta forma aprender. En nuestra opinión, estas actividades mejoran las habilidades de resolución de
problemas, y en consecuencia, la capacidad para crear programas.
SICAS permite la creación y edición de algoritmos para resolver un determinado problema, de modo que
el alumno puede verificar como funcionaría el algoritmo si estuviese codificado en un lenguaje de
programación. Los algoritmos se especifican mediante representaciones visuales: diagramas de flujo. Así,
se emplean símbolos gráficos para representar las principales estructuras de construcción de algoritmos
simples (selecciones, repeticiones, funciones, etc.). Durante la simulación, el alumno puede analizar con
detalle y al ritmo que desee la forma en que se comporta su algoritmo y así identificar y corregir los
errores que detecte (Gomes & Mendes, 2001). La figura 1 muestra el entorno SICAS durante una sesión
de simulación.
Una vez encontrada una solución, SICAS permite la generación de código en forma de pseudocódigo,
Lenguaje C o Lenguaje JAVA. Esta diversidad de alternativas para presentar la solución del problema
tiene como propósito esencial demostrar que la acción fundamental de la resolución de problemas de
programación y construcción de un algoritmo es independiente de su codificación en un determinado
lenguaje. Así, a partir del momento en el que está desarrollado el algoritmo, su traducción es
relativamente fácil de realizar.
Figura 1. Simulación de un algoritmo en el entorno SICAS.
El entorno OOP-ANIM
En los últimos años, la programación orientada a objetos ha venido ganando una importancia creciente y
en consecuencia se ha incluido en las disciplinas de introducción a la programación. La popularización de
lenguajes orientados a objetos como es el caso de Java también ha contribuido a crear esta importancia.
Por este motivo, nos propusimos desarrollar un entorno de apoyo a nuestros alumnos en los conceptos
básicos de este paradigma de programación. Este entorno es el OOP-ANIM que actualmente se
encuentra en fase de desarrollo. (Esteves & Mendes, 2003).
Figura 2. Simulación de un programa en el entorno OOP-ANIM
Esencialmente, OOP-ANIM es una herramienta de visualización y animación de pequeños programas
creados por los alumnos. Los objetivos son los mismos que motivaron el entorno SICAS. Este pretende
que los alumnos construyan soluciones a determinados problemas, simulen la ejecución de esas
soluciones, detecten errores y traten de corregirlos. En la primera fase, también puede resultar útil para el
análisis de ejemplos de programas que pueden ser presentados por el profesor. De esta forma, el alumno
se familiariza con los conceptos de clase y objeto y sus relaciones.
Una diferencia importante en referencia al sistema anterior es que en este caso se trabaja con programas
directamente escritos en Java y no en diagramas de flujo. La razón de esta decisión tiene que ver con el
hecho de que, normalmente, estos alumnos cuando abordan el estudio de la programación orientada a
objetos ya tienen conocimientos sobre programación procedimental. La figura 2 muestra una imagen de
este entorno.
LA PLANIFICACIÓN COLABORATIVA DEL DISEÑO EN DOMOSIM-TPC
Debemos revisar diversos aspectos que considerados en el sistema DomoSim-TPC son esenciales para
materializar el concepto de Planificación Colaborativa del Diseño. A continuación se describen
brevemente.
Modelado del dominio
El primero de los aspectos a estudiar, y tal vez el más importante, es el modelado del dominio para poder
facilitar el procesamiento automático de la información del mismo. En el caso de la Domótica, y para su
utilización en DomoSim-TPC, el dominio se modeló utilizando el paradigma de orientación a objetos. Así
los elementos u operadores de Domótica se modelan como objetos que tienen unas propiedades, se
pueden realizar unas acciones sobre ellos, se pueden relacionar o conectar con otros objetos y además
presentan algunas restricciones relativas a su utilización (Redondo, 2002).
Cuando hablamos del dominio de la programación, podemos estudiar un programa como un conjunto de
sentencias (o bloques) con unas propiedades particulares, relacionadas con otras sentencias según se
defina en el flujo de control, pueden presentar algunas restricciones relativas a las posibilidades de
relación con otras. Desde este punto de vista, podemos realizar una aproximación similar considerando
las sentencias de un programa como los objetos con los que vamos a trabajar. Una representación similar
se ha utilizado en otros trabajos como (Suzuki & Kato, 1995), aunque el diseño del programa no fuese
una tarea realizada mediante computador.
No obstante, para tratar de darle mayor significado a la representación del dominio se puede reflexionar
sobre la utilización de los Diagramas de Actividad de UML para representar los programas. En cualquier
caso, los elementos de un Diagrama de Actividad resultan mucho más sencillos de aproximar a la visión
de objetos que antes hemos señalado. Así, cada uno de estos elementos puede modelarse como un
objeto que puede estar relacionado con el resto según diversos criterios (por ejemplo el flujo de control).
El lenguaje de representación intermedio
Necesitamos de un lenguaje de representación intermedio que permita planificar la construcción de un
programa con un alto nivel de abstracción que facilite la reflexión sobre las decisiones que se toman. Es
decir, necesitamos un lenguaje que incite a la reflexión sobre las sentencias que deben formar parte de
un programa y sobre cómo se relacionan con el resto de las sentencias.
En DomoSim-TPC se emplea como lenguaje el Plan de Diseño. Un Plan de Diseño es una secuencia
ordenada de acciones de diseño que afectan a los objetos del dominio. Por ejemplo, acciones que indican
que se incluye un elemento en el diseño o que se conectan dos elementos incluidos previamente en el
diseño, etc. Es decir, una secuencia ordenada de acciones que definen un caso particular de utilización
de los objetos del dominio (Redondo et al, 2002).
Una vez modelado el dominio de la programación como un conjunto de objetos, la utilización del Plan de
Diseño como representación intermedia de un programa no presenta una dificultad significativa, dada su
similitud con el dominio de la Domótica.
ADAPTACIÓN DE DOMOSIM-TPC PARA EL APRENDIZAJE DE LA PROGRAMACIÓN
En esta sección revisaremos algunas de las características de DomoSim-TPC, sobretodo a nivel de
interfaz de usuario, para determinar cómo puede permitir trabajar con el modelo del dominio y el lenguaje
de representación que introducimos en el apartado anterior.
Para la Planificación Colaborativa del Diseño de instalaciones de Domótica se utiliza una herramienta
formada por tres componentes interrelacionados que dan lugar a tres subespacios: el editor de planes
(subespacio de trabajo individual), la utilidad de mensajería y representación del proceso en grupo
(subespacio de discusión y argumentación) y la tabla de contenidos (subespacio de resultados).
El editor de planes
El editor de planes se emplea para construir planes de diseño de forma individual, es decir, para que los
usuarios puedan plantear la solución a un problema de diseño en términos del leguaje de representación
desarrollado a tal efecto (ver figura 3).
Figura 3. Aspecto de la interfaz de usuario del editor de planes de diseño.
En esta utilidad presenta características muy próximas al dominio en el que se sitúan las experiencias de
aprendizaje y por ello debe sufrir los cambios más profundos. Estos cambios deben orientarse a facilitar
el planteamiento de la solución a un problema de programación. Para ello se debe poder interactuar con
el lenguaje de representación empleado y con los elementos que lo componen. A tal efecto se plantean
varias alternativas no necesariamente excluyentes:
Si se utiliza la equivalencia Diagrama de Actividad de UML – programa resultará interesante emplear
la notación UML y, por lo tanto, podemos utilizar cualquier herramienta ya existente para construir
diagramas de este tipo que posteriormente procesaremos e integraremos en nuestra herramienta.
Esta aproximación presenta la ventaja de reducir el esfuerzo de desarrollo pero por el contrario nos
condiciona la posibilidad de registrar las trazas del trabajo realizado individualmente por cada
alumno, nos dificulta la inclusión de agentes que orienten al aprendiz durante su trabajo y complica la
relación con el espacio de discusión y argumentación. Todo ello supone un importante valor añadido
para las herramientas destinadas a fines educativos y formativos. Además esto presupone
conocimientos de diseño y de utilización de la notación UML. No obstante, no deja de ser una primera
aproximación válida para poder disponer de un primer prototipo que agilice la implantación y
evaluación de nuestros planteamientos.
Independientemente de la notación o lenguaje por el que optemos, podemos desarrollar o integrar
nuestra propia herramienta de edición de planes de diseño de programas lo cual nos proporcionará
un marco sobre el que proponer nuevas mejoras y estudiar sus aportaciones. Esta aproximación
puede materializarse mediante la utilización de SICAS que se apoya en la representación de
programas abstrayéndolos mediante diagramas de flujo.
Figura 4. Visualización de planes de diseño con DomoSim-TPC
Es importante hacer una reflexión sobre cómo se visualizarán los planes de diseño de programas. En el
aprendizaje del diseño de instalaciones domóticas con DomoSim-TPC se registraba y visualizaba el plan
de diseño en forma de secuencia de acciones y el modelo que se construye realizando las acciones de
dicho plan, es decir, se representa la solución y la forma en la que se ha construido (ver figura 4). En el
caso del aprendizaje de la programación tal y como lo estamos planteando, la visualización se puede
realizar a diversos niveles:
Secuencia de acciones seguidas para construir el diagrama de actividad.
El propio diagrama de flujo.
El pseudocódigo equivalente al diagrama planificado.
La equivalencia al pseudocódigo en algún lenguaje de programación.
Optar por un nivel de visualización u otro dependerá de diversas circunstancias, como por ejemplo el
nivel de ayuda que se ofrece al aprendiz. Sin embargo, el sistema debe ser capaz de registrar los datos
necesarios para visualizar el trabajo realizado a cualquiera de los tres niveles.
Hay que significar que una vez que se dispone de un mecanismo de representación de estas
características se puede proceder, en otras etapas, a simular de forma colaborativa el comportamiento
del programa (probarlo) definiendo casos de estudio con los valores de entrada para el programa y
planteando diversas hipótesis sobre los valores de la variables de salida o intermedias (Bravo, 2002).
Esta verificación se puede hacer con distintos niveles de abstracción, dependiendo de la representación
empleada. En particular, la herramienta OOP-ANIM nos permite realizar esta simulación del
comportamiento del programa, incluso cuando se emplea tecnología de orientación a objetos.
Figura 5. Interfaz de la utilidad de discusión y argumentación.
Utilidad de mensajería para la discusión
La utilidad de mensajería organiza y presenta todas las contribuciones de diálogo que el grupo ha
generado durante la actividad, incluso aquellas que pueda generar el profesor o el propio sistema.
Algunas de estas contribuciones son propuestas de diseño previamente elaboradas con el editor de
planes, otras son comentarios, preguntas, etc. Desde este componente se pueden consultar todas las
contribuciones y sus relaciones con el resto de contribuciones o con otros contenidos como son los
planes de diseño y otros elementos de tipo textual. Hay que significar que esta herramienta no sólo
permite intercambiar opiniones y argumentar sobre la decisiones de diseño que se han tomado sino que
representa todo el proceso de discusión permitiendo el acceso a cualquier tipo de contribución generada
durante este proceso (ver figura 5). Por lo tanto, a diferencia de una herramienta clásica de mensajería,
ésta presenta un fuerte acoplamiento con los contenidos sobre los que se discute. Esta utilidad es
independiente del dominio al que se aplique por lo que no requiere cambios significativos. Solamente hay
que tener en cuenta que la visualización de las contribuciones depende del tipo de las mismas. Por lo
tanto, cuando se pretenda visualizar una contribución de tipo plan de diseño de un programa se deberá
hacer teniendo presentes los niveles discutidos en la sección anterior.
Tabla de contenidos
Por último, la tabla de contenidos permite organizar, presentar y facilitar el acceso a la solución final
elaborada y consensuada por el grupo. En este subespacio sólo aparecen los contenidos generados por
el grupo, desligados del proceso seguido para obtenerlos. Se emplea una estructura jerárquica para
representar los resultados de la actividad en forma de tabla de contenidos. La visualización de éstos
depende del dominio de aplicación y, por lo tanto, para el caso de la programación nuevamente se
deberán tener en cuenta los niveles planteados para el editor de planes y el sistema de discusión. Así
pues, esta utilidad tampoco requiere cambios significativos para su aplicación en el aprendizaje de la
programación, excepto lo relativo a la visualización que será común a los tres subespacios que se
emplean para la Planificación Colaborativa.
CONCLUSIONES Y LÍNEAS DE TRABAJO
Tras revisar la interfaz de las diversas herramientas que se utilizan en DomoSim-TPC para la
Planificación Colaborativa del Diseño se observa que no se requieren cambios sustanciales para su
aplicación al aprendizaje de la programación. Prácticamente los cambios se reducen a dos:
El editor para construir lo que hemos venido denominando plan de diseño del programa. No obstante,
como primera aproximación se puede optar por utilizar una herramienta externa que permita realizar
esta función y posteriormente integrar el modelo generado en el subespacio de edición de nuestro
sistema. Aunque somos conscientes de que disponer de una herramienta desarrollada
específicamente para este objetivo permitiría enriquecer significativamente el proceso. En nuestro
caso particular optamos por SICAS empleando como lenguaje de representación diagramas de flujo.
Debe acometerse la visualización de los modelos y planes de diseño de programas que se generan.
Esta visualización se puede plantear a diferentes niveles de abstracción: secuencia de acciones para
construirlos, modelo construido expresado como un diagrama de flujo y pseudocódigo equivalente.
Por lo tanto, estamos en condiciones de afirmar que es viable abordar la utilización de la Planificación
Colaborativa del Diseño como estrategia para el aprendizaje en grupo de la programación y además
podemos hacerlo aprovechando gran parte de la infraestructura proporcionada por DomoSim-TPC y por
las herramientas que hemos citado y que se emplean para el aprendizaje desde un punto de vista
individual.
La siguiente fase de este trabajo debe dirigirse hacia la modificación del sistema, tal y como se ha
apuntado durante este estudio, para incorporar su aplicación en el dominio de la programación y tratar de
dejar abierta la posibilidad de incorporar otros dominios con los que se puedan modelar de forma similar.
Una vez que el sistema esté operativo se procederá a su evaluación, configurando grupos de aprendices
formados por alumnos de la Universidad de Coimbra y por alumnos de la Universidad de Castilla – La
Mancha. Estos alumnos participarán en actividades de aprendizaje a distancia basadas en la resolución
de problemas de programación. Esto permitirá obtener datos reales que nos ayuden a demostrar la
idoneidad de nuestros planteamientos.
AGRADECIMIENTOS
Este trabajo ha sido financiado parcialmente por RIBIE en el marco del CYTED y por la UCLM.
REFERENCIAS
Azul, A. & Mendes, A. J., (1998). EDDL: um programa didáctico sobre Estruturas de Dados
Dinâmicas Lineares. Actas do 3º Simpósio Investigação e Desenvolvimento de Software Educativo,
Évora, Portugal.
Boder, A., (1992). The process of knowledge reification in human-human interaction. Journal of
computer Assited Learning, Vol. 8, No 3, pp. 177-185.
Bonar, J.G., & Cunningham, R., (1988). Intelligent Tutoring with Intermediate Representations. ITS88. Montreal.
Bravo, C (2002). Un sistema de soporte al aprendizaje colaborativo del diseño de mótico mediante
herramientas de modelado y simulación. Tesis Doctoral: Departamento de Informática. UCLM.
Bravo, C., Redondo, M.A., Bravo, J., & Ortega, M., (2000). DOMOSIM-COL: A Simulation
Collaborative Environment for de Learning of Domotic Desgin. Inroads The SIGCSE Bulletin of ACM,
vol. 32 (2), pp.65-67.
Bravo, J. (1999). Planificación del diseño en entornos de simulación para el aprendizaje a distancia.
Tesis Doctoral: Departamento de Ingeniería Eléctrica, Electrónica y Control. UNED.
Bravo, J., Ortega, M., & Verdejo, M.F., (1999). Planning in Distance Simulation Environments. Full
Paper in Comunications and Networking in Education COMNED’99. Aulanko, Hämeenlinna. Finlandia.
de Jong, T., van Joolingen, W., Pieters, J. & van der Hulst, A., (1993). Why is discovery learning so
difficult? And what can we do about it?. EARLI conference. Aix-en-Provence.
de Jong, T., van Joolinger W. & King, S., (1997). The authoring environment SIMQUEST and the
need for author support. In Ton de Jong (Ed.), Supporting authors in the design of simulation based
learning environments. Servive Project.
Esteves, M. & Mendes, A.J., (2003). OOP-Anim, a system to support learning of basic object oriented
programming concepts. Proceedings of CompSysTech' 2003 - International Conference on Computer
Systems and Technologies, Sofia, Bulgária.
Gomes, A.J. & Mendes, A. J., (1999). A animação na aprendizagem de conceitos básicos de
programação. Revista de Ensenanza y Tecnologia, 13, 22-32.
Gomes, A.J. & Mendes, A.J., (2001). SICAS: Interactive system for algorithm development and
simulation. In Manuel Ortega y José Bravo (eds.), Computers and Education in an Interconnected
Society, Kluwer Academic Publishers, 159-166.
Jonassen, D.H., (2000). Toward a Meta-Theory of Problem Solving. Educational Technology:
Research & Development, 48 (4), pp. 63-85.
Koschmann, T. (1996). Paradigm shifts and instructional technology. In T. Koschmann (Ed.), CSCL:
Theory and Practice of an Emerging Paradigm. Mahwah, NJ: Lawrence Erlbaum, Assoc. pp. 1-24.
Redondo, M.A., Bravo, C., Ortega, M., & Verdejo, M.F., (2002). PlanEdit: An adaptive tool for design
learning by problem solving. Proceedings of 2º Adaptive Hypermedia and Adaptive Web-Based
Systems (AH2002). LNCS 2347, pp. 560-563. Springer-Verlag: Berlin.
Redondo, M.A. (2002). Planificación colaborativa del diseño en entornos de simulación para el
aprendizaje a distancia. Tesis Doctoral: Departamento de Informática. UCLM.
Redondo, M.A., Bravo, C., Bravo, J., Ortega, M., (2003). Organizing activities of problem based
collaborative learning with the DomoSim-TPC system. In M. Llamas, M.J. Fernández y L.E. Anido
(Eds.), Computers and Education: Towards a Lifelong Learning Society. Invited and reviewed paper
from the VI Iberoamerican Congress on Computers in Education (IE’2002). Kluwer Academic
Publishers. (In Press).
Slavin, R.E., (1983). Cooperative learning. New York: Longman.
Soloway, E., (1986). Learning to Program = Learning to Construct Mechanisms and Explanations.
Communications of the ACM.
Suzuki & Kato, (1995). Interaction-Level Support for Collaborative Learning: AlgoBlock -- An Open
Programming Language. Proceedins of CSCL’95. Indiana (USA)
Vygotsky, L.S., (1978). Mind in Society: The Development of Higher Psychological Processes.
Cambridge, MA: Harvard University Press.
Descargar