Dificultades en el aprendizaje de la programación recursiva

Sergio Augusto Cardona Torres, Sonia Jaramillo

Resumen


La recursividad es una técnica de programación que puede ser utilizada para la resolución de diversos y complejos problemas computacionales, sin embargo, se presenta como uno de los temas de más difícil comprensión para los estudiantes que están aprendiendo programación. Este artículo presenta los resultados de un estudio investigativo pre experimental realizado con estudiantes de un curso de análisis de algoritmos del Programa de Ingeniería de Sistemas y Computación, de la Universidad del Quindío (Colombia), cuyo objetivo estuvo orientado a identificar las principales dificultades que tienen los alumnos de un cuso de análisis de algoritmos para comprender el concepto de recursividad. Los resultados muestran que lo que más dificultad les supone a los estudiantes es comprender el funcionamiento del programa cuando existen varias llamadas recursivas y el seguimiento a la traza del funcionamiento de un algoritmo recursivo.

Palabras clave


algoritmo, programación, recursividad, aprendizaje

Texto completo:

PDF

Referencias


ACM & IEEE, Computer Science Curriculum En línea. 2008, 14 de febrero. Disponible en http://www.acm.org/education/curricula/ComputerScience2008.pdf

ACM & IEEE, Software Engineering, En línea. 2008, 14 de febrero. Disponible en https://www.computer.org/cms/Computer.org/Publications/code-of-ethics.pdf

ACM & IEEE, Computer Engineering, En línea. 2008, 14 de febrero. Disponible en http://www.acm.org/education/curricula-recommendations

C. Lacave, A. I. Molina, & J. Giralt, “Identificando algunas causas del fracaso en el aprendizaje de la recursividad : Análisis experimental en las asignaturas de programación” Jenui, pp. 225-232. 2013

R. Sooriamurthi, “Problems in comprehending recursion and suggested solutions,” ACM SIGCSE Bull., vol. 33, no. 3, pp. 25–28, Sep. 2001.

K. Gunion, T. Mildford, and U. Stege, “Curing Recursion Aversion,” in Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education, pp. 124–128, 2009

D. Ginat & E. Shifroni, “Teaching Recursion in a Procedural Environment How much should we emphasize the Computing Model ?,” ACM SIGCSE Bull., vol. 31, no. 1, pp. 127–131, 1999.

M. Zmuda & M. Hatch, “Scheduling topics for improved student comprehension of recursion,” Comput. Educ., vol. 48, no. 2, pp. 318–328, 2007.

B. Stephenson, “Using graphical examples to motivate the study of recursion,” Using Graph. examples to Motiv. study recursion, vol. 25, no. 1, pp. 42–50, 2009.

T. Scholtz & I. Sanders, “Mental Models of Recursion : Investigating Students ‟ Understanding of Recursion,” in Proceedings of the fifteenth annual conference on Innovation and technology in computer science education, pp. 103–107, 2010

C. Mirolo, “Learning ( through ) recursion : a multidimensional analysis of the competences achieved by cs1 students,” in Proceedings of the fifteenth annual conference on Innovation and technology in computer science education, , pp. 160–164, 2010

T. Naps et al, “Exploring the role of visualization and engagement in computer science education,” ACM SIGCSE Bull., vol. 35, no. 2, pp. 131–152, 2003.

C. Hundhausen, S. Douglas, and J. Stasko, “A Meta-Study of Algorithm Visualization Effectiveness,” J. Vis. Lang. Comput., vol. 13, pp. 259–290, 2002.

C. E. George, “EROSI - Visualising Recursion and Discovering New Errors,” ACM SIGCSE Bull., vol. 32, no. 1, pp. 305–309, 2000.

W. Dann, S. Cooper, and R. Pausch, “Using Visualization To Teach Novices Recursion,” ACM SIGCSE Bull., vol. 33, no. 3, pp. 109–112, 2001.

A. Chaffin, K. Doran, D. Hicks, and T. Barnes, “Experimental evaluation of teaching recursion in a video game,” in Proceedings of the 2009 ACM SIGGRAPH Symposium on Video Games, vol. 1, no. 212, pp. 79–86, 2009

M. Wirth, “Introducing Recursion by Parking Cars,” ACM SIGCSE Bull., vol. 40, no. 4, pp. 52–55, 2008.

J. Edgington, “Teaching and viewing recursion as delegation,” Comput. Sci. Coll., vol. 23, no. 1, pp. 241–246, 2007.

S. Cardona, S. Jaramillo, and L. Hernández, Técnicas de Diseño de Algoritmos en Java, ElizCom. Armenia, 2008.


Enlaces refback

  • No hay ningún enlace refback.