Simulación de ejecución de algoritmos utilizando a los estudiantes

Anuncio
Simulación de ejecución de algoritmos utilizando a los estudiantes como actores
Arturo Camacho Lozano
Escuela de Ciencias de la Computación e Informática
Universidad de Costa Rica
[email protected]
1.
Introducción
Cuando se enseña un curso de estructuras de datos y algoritmos, es común que el docente simule
la ejecución de los algoritmos en la pizarra o con diapositivas animadas. Sin embargo, es bastante
aceptada la idea de que un estudiante aprende más a partir de lo que hace que de lo que escucha o
ve. Bajo este enfoque, se propone una metodología para que los estudiantes aprendan algoritmos de
ordenamiento, grafos y estructuras de datos mediante simulaciones, en las cuales ellos participan
como actores.
2.
2.1.
Metodología
Algoritmos de ordenamiento
El método propuesto consiste en que los estudiantes representen los elementos del arreglo a
ordenar y simulen las comparaciones y movimientos que el algoritmo realiza. Primero, se le pide
a un grupo de voluntarios que se dispongan en forma de arreglo. Posteriormente, se les explica la
idea fundamental del algoritmo y se les pide que se comparen y se movilicen para implementar la
idea eficientemente. A manera de ejemplo, para el algoritmo de ordenamiento por inserción se les
indica que la idea fundamental del algoritmo es formar una secuencia de subarreglos a la que se
le agrega un elemento a la vez, y que en cada iteración se debe garantizar que el subarreglo está
ordenado. El estudiante recién incorporado al subarreglo se encarga de dirigir las comparaciones
y movimientos para garantizar que al final de la iteración el subarreglo quede ordenado. Esta responsabilidad genera en el estudiante un nivel de atención alto, que le permita alcanzar el objetivo.
Típicamente, el estudiante reconoce la mecánica del algoritmo después de unos pocos pasos.
2.2.
Estructuras de datos
Entre las estructuras de datos más utilizadas están los árboles de búsqueda binarios. Estos árboles se caracterizan porque sus elementos forman una jerarquía análoga a la de un árbol genealógico.
Para simular estas estructuras, los enlaces padre-hijo se representan mediante cuerdas que los estudiantes colocan alrededor de su cintura y que entregan a su padre (o madre). Las operaciones de
inserción y búsqueda son derivadas fácilmente por los estudiantes. El borrado es más complejo,
pero después de un poco de discusión, los estudiantes suelen encontrar la solución. Una variación
de esta estructura son los árboles rojinegros, en los que cada nodo tiene un atributo extra color, que
puede ser rojo o negro. Durante la simulación, los estudiantes usan un sombrero rojo para indicar
que son rojos.
1
Calificación
9,0
I ciclo
II ciclo
8,0
7,0
2009
2010
2011
Año
2012
2013
Figura 1: Mediana de las calificaciones finales de los estudiantes en el curso, desde el 2009 hasta
el 2013.
2.3.
Algoritmos sobre grafos
En un grafo, la cantidad de adyacentes a un nodo puede ser grande, por lo que el uso de cuerdas
no es viable. En este caso se usa la pizarra, pero los estudiantes son quienes dibujan los nodos y
actualizan sus atributos. Por ejemplo, para el algoritmo de Dijkstra, los estudiantes crean un nodo
con su nombre y ponen como adyacentes a los nodos cuya inicial coincide con la de su apellido. La
distancia entre los nodos se puede establecer de acuerdo a la diferencia de edad (en meses) entre
los estudiantes involucrados. Durante la ejecución del algoritmo, cada estudiantes se encarga de
desencolar su nodo cuando corresponde y de actualizar las distancias de sus adyacentes a la fuente.
3.
Evaluación
La metodología se introdujo en el curso Estructuras de Datos y Análisis de Algoritmos impartido por el autor en el II ciclo de 2010. Los primeros temas abordados con este método fueron los
algoritmos de ordenamiento y las estructuras de datos. El tema de grafos se abordó en el II ciclo
de 2012. La figura 1 muestra la mediana de las notas finales del curso a partir del II ciclo de 2009
(primera ocasión en que el autor impartió el curso). Debido a que las calificaciones del I y II ciclo
del año lectivo no con comparables (usualmente los estudiantes que toman el curso en el I ciclo
han sufrido un rezago ya que el curso está programado para el II ciclo), se comparan las calificaciones del II ciclo de 2009 y con las del II ciclo de 2010. Esta comparación muestra un incremento
significativo en el ciclo en el que se introdujo la metodología. Cabe mencionar, sin embargo, que
los promedios de matrícula de ambos grupos fueron bastante disparejos. Una comparación de las
calificaciones del I ciclo de 2010 y de 2011 también muestra una mejora importante con la introducción de la metodología. Y en este caso, los grupos sí poseían características semejantes. Cabe
aclarar que a partir del II ciclo de 2010 las calificaciones del curso han bajado, pero esto se debe al
constante incremento en el nivel de dificultad de las evaluaciones del curso.
4.
Conclusión
Se introdujo una metodología para la enseñanza-aprendizaje de algoritmos y estructuras de datos en la que los estudiantes participan activamente en la simulación de la ejecución de los mismos.
Los resultados sugieren que el uso de esta metodología produce un incremento en las calificaciones
del curso.
2
Descargar