Aprendizaje de la programación con estrategia “divide and conquer” vs. Sin estrategia “divide and conquer”
Resumen
El aprendizaje de la programación de computadores es una invitación permanente a docentes ingenieros para buscar mecanismos, teorías y modelos que lo faciliten y, de paso, que simplifiquen la resolución de problemas a partir del aprovechamiento del pensamiento computacional. El concepto de función y la estrategia “divide and conquer” se han ido convirtiendo en un camino que facilita la asimilación y aplicación de la programación dentro del paradigma funcional y, al tiempo, simplifica el aprendizaje de otros paradigmas de programación. El presente artículo está basado en una investigación realizada en paralelo con grupos de Programación I Paradigma Funcional a lo largo de los últimos 6 semestres en el programa Ingeniería de Sistemas y Computación. Los resultados son significativamente diferentes si se comparan los grupos en los cuales se adoptó la estrategia “divide and conquer” con los resultados de aquellos con los cuales se trabajó una sola función que incluyera todo el proceso lógico de resolución de un problema. Se concluye que es mucho más conveniente atomizar una solución algorítmica computacional basada en funciones que pensar dicha solución en un solo cuerpo lógico, independiente del paradigma de programación.
Descargas
Citas
Trejos Buriticá, O. Lógica de Programación. Bogotá: Ediciones de la U, 2017.
Wing, J. Computational Thinking. Communications on the ACM, 49(3), p.p. 33-35, 2006.
Brown, N., & Wilson, G. (2018). Ten quick tips for teaching programming. PLos Comput Biol, 14(4), 1-8, 2018.
Diaz Barriga, F., & Hernandez Rojas, G. Estrategias docentes para un aprendizaje significativo. México: McGraw Hill, 2002.
Brassard, G., & Bratley, P. Fundamentos de Algoritmia. New York (USA): Prentice Hall, 1997.
Basogain Olabe, X., Olabe Basogain , M., & Olabe Basogain, J. Pensamiento Computacional a través de la programación: paradigma de aprendizaje. Revista de Educación a Distancia, 46(6), 2015, 2-35.
Trejos Buriticá, O. Metodología para aprender programación funcional en Ingeniería de Sistemas aplicando teoría de aprendizaje por descubrimiento. Revista Educación en Ingeniería - ACOFI, 12(23), 69- 75, 2017.
Trejos Buriticá, O. Tesis Doctoral "Aprendizaje en Ingeniería: Un problema de Comunicación". Pereira (Risaralda): Doctorado en Ciencias de la Educación RudeColombia - CADE UTP, 2012.
Trejos Buriticá, O. Programación Imperativa con Lenguaje C. Bogotá: ECOE Ediciones, 2017.
Schildt, H. Java: a beginners guide. New York: Editorial McGraw Hill, 2017.
Gomez Alvarez, M., Sanchez Dams, R., & Barón Salazar, A. A Representation Proposal of Practices for Teaching and Learning Software Engineering Using a Semat Kernel Extension. Revista Ingenierías, 17(32), 129-154, 2018.
Muñoz Guerrero, L. Tesis Doctoral Modelo de socialización del conocimiento profesional aprovechando NTICs, redes sociales y sus servicios asociados y desarrollo de competencias blandas con grupos interdisciplinarios en Ing de Sistemas. Pereira (Risaralda): Doctorado en Ciencias de la Educación RudeColombia, 2019.
Lindsay, D. Scientific Writing Thinking in Words. Sidney, Australia: CSIRO Publishing, 2011.
Burt, B. Beginning programming with Java for Dummies. New York (USA): For Dummies Editorial, 2017.
Gonzalez Hernandez, W. La enseñanza de la informática y de la matemática: ¿semejantes o diferentes? Revista Educación en Ingeniería - ACOFI, 13(26), 20-26, 2018.
Deitel, P., & Deitel, H. Java - Cómo programar. New York (USA): Pearson Education, 2017.
Cárdenas, D., & Martha Idalia Esparza. El pensamiento lógico computacional. México: Editorial Digital del Tecnológico de Monterrey, 2015.
Ausubel, D. The Acquisition and Retention of Knowledge. Washington - USA: Springer, 2012.