Sunteți pe pagina 1din 8

EDApplets: Una Herramienta Web para la Enseanza de Estructuras de

datos y Tcnicas Algortmitcas

Almeida F., Blanco V., Moreno L. M.


Dtpo. Estadstica, I. O. y Computacin

Universidad de La Laguna

38206 Tenerife

e-mail: {falmeida, vblanco, lmmoreno}@ull.es

Resumen tancia que existe entre los estilos de aprendi-


zaje observados en los alumnos y los estilos de
Presentamos en este trabajo la herramienta enseanza generalmente utilizados, contribu-
EDApplets, una applicacin web orientada a ye a consolidar las dicultades de aprendizaje
la enseanza/aprendizaje de la programacin (ver tabla 1).
y de la algortmica en las ingenieras. Basada Aunque no hay una nica denicin y cla-
en la tecnologa de Applets Java, est orien- sicacin sobre estilos de aprendizaje([11], [6],
tada a la animacin y visualizacin median- [1], [9], [7]). Todos los autores coinciden en que
te trazas de algoritmos y estructuras de da- no hay estilos correctos e incorrectos y en que
tos. La herramienta permite cubrir diversos as- es habitual que las personas utilicen los esti-
pectos en una enseanza que puede ser dirigi- los de forma complementaria ([6], [8], [5], [17]).
da a distintos tipos de estilos aprendizaje: ac- De este modo, uno de los grandes retos en la
tivo/reexivo, metdico/intuitivo, visual/oral, enseanza en general y, de la enseanza de la
etc. Asimismo, presentamos los aspectos me- programacin en las ingenieras en particular,
todolgicos que deberan ser considerados a la es el de ser capaz de ajustarse a las necesida-
hora de introducir la herramienta en el aula des particulares de los individuos. Una forma
como un suplemento al aprendizaje. de acercarse de forma individualizada al alum-
no es a travs de software multimedia sobre
materias especcas ([4], [20]).
1. Introduccin
Es un objetivo de este trabajo la presen-

El aprendizaje de materias relativas a la al- tacin/divulgacin de la herramienta EDAp-

gortmica y la programacin de algoritmos plets [10], una utilidad interactiva orientada a

presenta quizs uno de los niveles de dicul- las materias de estructuras de datos y algorit-

tad ms elevado en lo que se reere a mate- mos. Se intenta con este modelo de herramien-

rias propias en las ingenieras. Los estudiantes ta contribuir a reducir el hueco creado por la

han mostrado desde siempre dicultades para dicotoma entre los estilos de enseanza y los

asimilar nociones matemticas abstractas, en de aprendizaje.

particular cuando stas incluyen la dinmica La idea de introducir este tipo de herramien-
de cmo los algoritmos manipulan los datos. tas en las materias no es nueva y suelen estar
Montgomery [16] establece que estas diculta- soportadas en la utilizacin de animaciones pa-
des se mantienen a lo largo de cada curso aca- ra ilustrar el comportamiento dinmico de los
dmico. En su experiencia analiza las dimen- algoritmos. Cientos de animaciones han sido
siones sobre estilos de aprendizaje propuestas desarrolladas y se encuentran dispersas en la
por Soloman [11] (procesamiento, percepcin, red, en muchos casos como software de libre
representacin y comprensin) en el contexto distribucin [2], [19]. La mayora de ellas han
de las ingenieras y concluye que la enorme dis- sido diseadas bajo la suposicin de que las

1
410 Programacin, algoritmos y estructuras de datos

Dimensin Aprendizaje Enseanza

Procesamiento 67 % de los estudiantes La mayora de las clases se imparten de


aprende mejor de una forma forma tpicamente pasiva y reexiva
activa
Percepcin 57 % de los estudiantes Habitualmente se les ensea de forma
aprenden de forma metdica intuitiva
Representacin 69 % de los estudiantes Las clases suelen ser orales
aprenden de forma visual
Comprensin 28 % de los estudiantes Rara vez se hace hincapi en una visin
aprende de forma global global del sistema

Tabla 1: Resultados observados por Montgomery sobre los estilos de aprendizaje.

animaciones serviran a los estudiantes como Integracin de las interfaces de manera


una ayuda efectiva en el proceso de aprendi- que se minimiza la curva de aprendizaje
zaje. Sin embargo, aunque las animaciones son en el uso de los elementos del entorno.
siempre recibidas de forma entusiasta por par-
te de los alumnos, no hay evidencias empricas
Integracin de distintos elementos ins-
tructivos (grcos y textuales) en una
que demuestren la efectividad de las animacio-
misma pieza de software, cada componen-
nes por s mismas. El diseo de las animaciones
te contempla el cdigo que se ejecuta, la
de los algoritmos debe ser cuidadosamente re-
entrada, la salida y la animacin grca
visado para tener posibilidades de profundizar
del algoritmo.
en el aprendizaje.

En nuestra propuesta, partimos de un con- En los ltimos aos hemos observado una
cepto ms amplio, la visualizacin de los al- rpida y amplia aceptacin de la web como un
goritmos, mediante la que se introducen los medio global para presentar y procesar infor-
algoritmos y sus animaciones a distintos ni- macin que es accesible en mltiples formatos
veles de abstraccin en un entorno hiperme- (multimedia) y a velocidades aceptables (hi-
dial integrado. En EDApplets la visualizacin permedia). Esta rpida evolucin del entorno
contempla la ejecucin paso a paso de los al- se ha debido, en gran medida, al lenguaje de
goritmos para entradas proporcionadas por los programacin Java desarrollado por SUN Mi-
alumnos, la presentacin de trazas del cdigo y crosystems [15]. En particular los Applets de
de los elementos (variables, estructuras de da- Java permiten ser ejecutados desde un navega-
tos, etc...) ms representativas del mismo y la dor de pginas web. El uso de esta tecnologa
visualizacin del comportamiento del algorit- para desarrollo de programas en la web pre-
mo mediante animaciones grcas. EDApplets senta algunas ventajas[14] y son algunas de las
ha sido concebida como una aplicacin web ba- razones que nos han motivado a basar nuestra
sada en la tecnologa que nos proporcionan los herramienta en este tipo de tecnologa:
Applets de Java y se encuentra pblicamente
disponible en www.pcg.ull.es/edapplets. La interoperabilidad que le permite ope-

La integracin en EDApplets se soporta a rar con diversos formatos (texto, gr-

distintos niveles: co, animaciones y sonidos), con diversos


lenguajes (JavaScript, VRML), con otros
programas en el servidor y con documen-
Integracin de algoritmos en un nico en-
tos HTML/XML en el cliente.
torno frente a la enorme dispersin de
ejemplos y casos que ha sido desarrolla- La interaccin con el usuario: A travs
da en la ltima dcada. de las interfaces grcas de usuario los
X Jornadas de Enseanza Universitaria de la Informtica 411

Figura 1: Vista general del sitio web EDApplets

applets enriquecen la interaccin con el la herramienta y cada uno de los applets. Se


usuario que pueden proporcionar las p- presenta una descripcin de cada uno de los
ginas HTML. elementos que forman parte de los mismos. El
sitio web en el que se han ubicado los applets
La independencia de las plataformas y la
se presenta en la seccin 3. Introducimos en la
portabilidad: Las versiones multiplatafor-
seccin4, una posible metodologa con la que
ma de software educativo son bastante es-
hacer uso la herramienta en el aula y extraer
casas y, a menudo presentan una enorme
as el mximo partido a los applets. Se pre-
dependencia del hardware de base. Los
sentan las conclusiones en la seccin 5 y, en
applets de java pueden ser ejecutados so-
la seccin 6 planteamos las futuras lneas de
bre diferentes arquitecturas sin ms que
trabajo.
hacer uso de un navegador compatible con
Java.

El trabajo ha sido estructurado del siguien-


te modo: la seccin 2 describe la interface y
el diseo general con el que se han concebido
412 Programacin, algoritmos y estructuras de datos

Figura 2: Applet que ilustra una sentencia de control iterativa FOR

2. Diseo de los applets se introducen los valores sobre los que el


algoritmo har la simulacin. La simula-
En EDApplets todos los applets desarrollados cin comienza despus de pulsar el botn
son similares en cuanto al diseo de la interface 'Comenzar'.
se reere. Cada Applet simular la ejecucin
de un algoritmo. El Applet presenta el cdigo Panel de control de velocidad : Se pre-
del algoritmo y el alumno introduce datos para sentan dos botones, el botn 'Continuar'
una simulacin. El alumno interacta con el y el botn 'Paso a paso'. Estos botones
Applet a travs de los botones de velocidad. permiten alternar la simulacin entre una
En todos se distinguen cinco paneles o reas ejecucin continuada del cdigo y una eje-
de trabajo (ver gura 2): el panel de entrada cucin paso a paso del mismo. En el modo
de datos, el panel de control de velocidad de de ejecucin paso a paso es necesario pul-
ejecucin, el panel de visualizacin del cdigo, sar el botn 'Paso a paso' cada vez que se
el panel de animacin y el panel de salida para desea simular una nueva instruccin del
variables de traza. algoritmo. Para el modo de ejecucin con-

Describimos a continuacin cada uno de tinua, cuando el algoritmo lo requiere, se

ellos: introduce en el applet una barra de 'scroll'


que permite aumentar o disminuir la ve-
Panel de entrada de datos : Desde l locidad de la simulacin (ver gura 3).
X Jornadas de Enseanza Universitaria de la Informtica 413

Figura 3: Tcnicas recursivas: ejemplo de Divide y


Vencers
Figura 4: Tipo abstracto de dato cola implemen-

Panel de visualizacin de cdigo : Es-


tada con punteros

te panel presenta el cdigo del algoritmo


que se pretende simular. Todos los cdi- La gura 2 presenta la fotografa de un ins-
gos presentes en EDApplets aparecen en tante de la ejecucin del Applet For (III). El
forma de pseudocdigo que sigue el esti- Applet simula la asignacin de valores a una
lo del lenguaje de programacin C. Cada matriz triangular superior. El cdigo utiliza
lnea de cdigo aparece enumerada para dos bucles anidados con lmites superiores N,
facilitar la referencia al mismo. Durante M . Se introducen los valores para los lmites de
todo el proceso de simulacin se sombrea ejecucin de los bucles y, la animacin mues-
la lnea de cdigo que se est ejecutan- tra a qu dato se accede en cada instante y qu
do. En ese instante, se ejecuta, en el pa- valor asume.
nel de animacin, la accin de animacin Con este diseo se prentende proporcionar
correspondiente a la lnea sombreada, y, un soporte que permita instruir a los alumnos
simultneamente, se asignan, en el panel activos e intuitivos a traves de la animacin y
de salida, los nuevos valores que toman de los elementos grcos, sin descuidar las ha-
las variables. bilidades de los alumnos metdicos y reexivos

Panel de animacin : Presenta la visua-


mediante el uso del razonamiento sonre el c-
digo o sobre la traza de ejecucin del mismo.
lizacin grca de la simulacin del algo-
La integracin global de tcnicas y estructuras
ritmo. Cuando el algoritmo lo requiere, el
permite una visin global de objetivos cuando
Applet desdobla el panel en tantos pane-
sea necesario.
les como sea necesario para obtener una
visualizacin adecuada (ver gura 3), au-
mentando de este modo la capacidad de 3. Sitio Web
la animacin.
Una vez realizado el diseo y estructura gene-
Panel de salida : Muestra los valores de ral de los applets, hemos implementado dife-
las variables para las que se est efectuan- rentes tcnicas algortmicas y ejemplos de uso
do la traza. El valor mostrado representa de estructuras de datos y/o de control utili-
el contenido de esas variables antes de que zando este diseo. Se hace especial hincapi
sea ejecutada la lnea sombreada en el pa- en el que el alumno pueda seguir de una ma-
nel de cdigo. nera visual el comportamiento de la tcnica
414 Programacin, algoritmos y estructuras de datos

o estructura de dato concreta, al mismo que ordenacin utilizando algoritmos conoci-


tiempo que sigue el pseudocdigo de la imple- dos como QuickSort, MergeSort o Selec-
mentacin de la misma. tionSort. Como ejemplo de estas tcnicas,
Los applets desarrollados han sido agrupa- ilustramos en la gura 3 la ejecucin de
dos en funcin de las tcnicas algortmicas y un algoritmo tpico para explicar la tcni-
de las estructuras de datos y control utiliza- ca de Divide y Vencers (el problema de
das. Hemos diseado un sencillo portal web en las Torres de Hanoi ). Este applet muestra
el que estos applets estn disponibles para ser el rbol de llamadas recursivas y los pa-
utilizados por el alumno, como podemos ver rmetros de la funciones especicadas en
en la gura 1 cada llamada. El alumno obtiene de for-

Estructuras de Control . En este ep-


ma visual toda esta informacin, lo que
facilita la compresin del funcionamiento
grafe se han incluido los applets que
de esta tcnica recursiva.
ilustran el comportamiento de estructu-
ras bsicas. As, podemos visualizar cmo
funcionan las diferentes estructuras de se- 4. Metodologa
leccin usando como ejemplo una calcula-
dora de enteros. Para las sentencias itera- El diseo seguido en EDApplets es suciente-
tivas, hemos escogido ejemplos basados en mente sencillo como para que el alumno pueda
vectores y matrices. En la gura 2 se ilus- comenzar a hacer uso de los applets sin dema-
tra el rellenado de una matriz triangular siado esfuerzo. Sin embargo, del mismo mo-
superior. do que una animacin por s misma podra no

Estructuras de Datos . Incluyen applets


contribuir de forma efectiva en el proceso de
aprendizaje, la ejecucin paso a paso de un
que ilustran estructuras de datos abstrac-
algoritmo y su visualizacin mediante trazas,
tas como las listas, pilas y colas. Se ha
podra no resultar instructiva si se usa de for-
escogido una implementacin basada en
ma aislada. Planteamos que cada applet debe-
punteros. Esta representacin puede ser
ra estar acompaada de una introduccin de
tambin de utilidad para ilustrar al alum-
texto que podra estar incluida en el propio ap-
no los conceptos de direccin de memoria
plet o separada del mismo. Esta informacin
(puntero) y de aquellos aspectos relacio-
textual que puede venir en forma de tutorial,
nados con la gestin de memoria dinmi-
situara al alumno en el contexto del problema
ca. En la gura 4 se ilustra la insercin
que se pretende resolver. Adems de esta intro-
de nodos en una cola dinmica. El estu-
duccin, otro soporte, no tan obvio pero muy
diante puede observar en cada paso qu
importante, es una hoja cuestionario del ap-
sentencia reserva la memoria y crea un
plet, que se solicita al estudiante que rellene.
nuevo nodo para almacenar informacin
El cuestionario constituye un conjunto de pre-
y, a continuacin, cmo se enlaza este no-
guntas sencillas de contestar que pueden ser
do a la estructura de datos abstracta.
respondidas utilizando el applet o razonando
Tcnicas Algortmicas . La mayora de a partir de l. El cuestionario podra asistir a
los applets implementados permiten ilus- los instructores en la integracin los recursos
trar las diferentes tcnicas algortmicas. del applet en su curso solicitando al alumno/a
En primer lugar podemos introducir al las respuestas al mismo como parte de la tarea
alumno en el concepto de recursividad, o del trabajo de laboratorio. Como ejemplo, en
utilizando por ejemplo un contador recur- el caso del applet de la gura 2 el cuestionario
sivo, para luego pasar a tcnicas ms com- podra recoger algunas de las siguientes cues-
plejas basadas en la recursividad como tiones:
Backtracking, Divide y Vencers, Rami-
cacin y Acotacin o Programacin Din- Realiza una traza del algoritmo para va-
mica. Tambin se ilustran las tcnicas de lores de N =5 y M = 5.
X Jornadas de Enseanza Universitaria de la Informtica 415

Qu valor toma la variable A[3][4]? necesidad de aadir nuevos ejemplos de utili-


zacin de las estructuras y tcnicas algortmi-
Cul es el nmero total de iteracio-
cas planteadas, que ayuden al estudiante una
nes del algoritmo?
mejor comprensin de estos mecanismos. Es

Si los valores de N y M fueran 4500 y bien sabido que muchas de estas tcnicas son

12000 respectivamente mejor asimiladas cuanto ms ejemplos varia-


dos se planteen en el uso de las mismas.
Que valor tomara la variable
Otra lnea en la que sera deseable trabajar,
A[50][200]?
es en la implementacin abierta del portal de
Cul es el nmero total de iteracio- applets. Dotar al mismo de una infraestructu-
nes del algoritmo? ra que permita una gestin de contenidos gil
(usando algun gestor de contenidos CMF, por
Puesto que es prcticamente imposible de- ejemplo PostNuke [18] ) para que los usua-
sarrollar una simulacin para N = 4500, M = rios/desarrolladores de applets puedan apor-
12000, el alumno deber hacer uso de desarro- tar nuevos contenidos al portal.
llo matemtico abstracto para poder contestar
a las ltimas cuestiones. Por supuesto, el ins-
7. Agradecimientos
tructor deber ser consciente de estos aspectos
y complementar la formacin terica con los Este trabajo ha sido parcialmente nanciado
elementos necesarios para poder responderlas. con el Proyecto de Innovacin Docente Herra-
mientas para la Visualizacin de Estructuras

5. Conclusiones de Datos y Tcnicas Algortmicas, subvencio-


nado en la II Convocatoria de Proyectos de
Hemos desarrollado una herramienta multime- Innovacin Docente y Formacin de Profeso-
dia que acta como suplemento en las tareas rado de La Universidad de La Laguna en el
de enseanza/aprendizaje de las materias pro- ao 2003, por el Vicerrectorado de Calidad y
pias de la programacin y la algortmica en Nuevos Estudios y por los proyectos FEDER y
las ingenieras. Se trata de una aplicacin web MCyT TIC2002-04400-C03 y TIC2002-04498-
que se ha desarrollado haciendo uso de la tec- C05-05).
nologa de applets java. Se parte de un diseo
integrado y coherente que enriquece animacio- Referencias
nes clsicas de algoritmos con la posibilidad de
a
efectuar trazas y ejecuciones paso a paso sobre [1] Jos M Luz Arcos. Estilos de Aprendi-
el cdigo. El diseo utilizado facilita una ense- zaje. www.puntoclave21.com.
anza/aprendizaje activa, visual, metodolgi-
[2] Brian Borowski. Home page.
ca y secuenciada, sin descuidar elementos que
sciris.shu.edu/borowski/, 1999.
contribuyan a una instruccin reexiva, oral,
intuitiva y global cuando sea necesaria. De este [3] Andrea Bulnov. Java applets in edu-
modo se intenta reducir la distancia que habi- cation. The Mathematics Edu-
In
tualmente existe entre los estilos de enseanza cation into the 21st Century project.
y los estilos de aprendizaje que generalmente International Conference The Decida-
presentan los alumnos. ble and the Undecidable in Mathe-
matics Education, Brno, Czech Repu-
blic, 2003. http://math.unipa.it/grim/-
6. Traba jo futuro
21_project/21_brno03_Bulnova.pdf.

La experiencia que se ha adquirido en el de- [4] Rosario Quecedo Lecanda Carlos Castao
sarrollo de estas herramientas para su utiliza- Garrido. Diseos de Entornos de Apren-
cin en la labor docente nos anima a seguir dizaje con Ordenador: Programas Hiper-
trabajando en esta lnea. Nos planteamos la media para el Autoaprendizaje. Didctica
416 Programacin, algoritmos y estructuras de datos

y Organizacin Escolar. Universidad del [14] Pankaj Kamthan. Java Applets in Edu-
Pas Vasco. www.cfp.upv.es. cation. Internet Related Technologies.
www.vpaa.uillinois.edu/tid/resources/mont-
[5] Jorge Capella Riera (coordinador). Esti-
gomery.html.
los de Aprendizaje en Estudiantes de la
Ponticia Universidad Catlica de Per. [15] Sun Microsystems. Java Technology. ja-
www.pucp.edu.pe. va.sun.com.

[6] Juan Silvio Cabrera Cruz. La Compren- [16] Susan Montgomery. Addres-
sin del Aprendizaje desde la Perspectiva sing Diverse Learning Style Th-
de los Estilos de Aprendizaje. Universi- rough the Use of Multimedia.
dad "Hermanos Saz". Pinar del Ro. Cu- www.vpaa.uillinois.edu/tid/resources/mont-
ba.www.monograas.com/trabajos14/compr- gomery.html, 1998.
aprendizaje/compr-aprendizaje.shtml.
[17] Samuel Rodrguez Ponce. El Efecto del
[7] Ministerio de Educacin Cultura y De-
Conocimiento de los Estilos de Aprendi-
porte. Apoyo al Proceso de Enseanza-
zaje y el Uso de algunas Tcnicas de Ava-
Aprendizaje. Orientacin Educativa.
luacin en el Saln de Clase en el Proceso
www.cnice.mecd.es.
de Aprendizaje y la Ejecucin de los Estu-
[8] Manuel Gmez del Valle y otros. Identi- diantes de Enfermera en el Curso de Qu-
cacin de los Estilos de Aprendizaje Pre- mica. Departamento de Qumica. Univer-
dominantes en Estudiantes de Magisterio sidad de Puerto Rico. www.upr.clu.edu.
de la Facultad de Ciencias de la Educa-
[18] PostNuke Project. Web Content Magna-
cin de la Universidad de Cdiz. Revista
gement Tool based on PHP and MySQL.
Electrnica Interuniversitaria de Forma-
www.postnuke.com.
cin del Profesorado.

[19] Chu Ryang Wie. The Semiconductor Ap-


[9] Milagros Marrero Daz. Estilos de Apren-
plet Service. jas.eng.bualo.edu, 2001.
dizaje y su Impacto en el Proceso de
EnseanzaAprendizaje en el curso teoc
[20] Alejandrino Gallego Rodrguez y Eva
2007 Aplicacin de Terapia Ocupacional
Martnez Caro. Estilos de Aprendizaje y
en Disfuncin. Departamento de Terapia
E-learning. Hacia un Mayor Rendimiento
Ocupacional. Universidad de Puerto Ri-
Acadmico. Departamento de Economa
co.www.upr.clu.edu.
de la Empresa. Universidad Politcnica de

[10] EDApplets. Herramientas para la Vi- Cartagena. www.upct.es.

sualizacin de Estructuras de Datos


y Tcnicas Algortmicas en la Web.
www.pcg.ull.es/edapplets, 2003.

[11] Richard M. Felder and Barbara A.


Soloman. Learning Styles and
Strategies. www.ncsu.edu/felder-
public/ILSdir/styles.htm.

[12] Walter Fendt. Java applets on physics.


http://www.walter-fendt.de/ph14s, 2004.

[13] Peter Golton. Using java applets to


produce interactive learning materials.
http://ferl.becta.org.uk/display.cfm?-
resID=2552&page=65&catID=504,
March 2002.

S-ar putea să vă placă și