Posibles aportes del razonamiento analógico al problema de la abstracción y transferencia en la enseñanza de programación

Palabras clave: Programación de ordenadores, Razonamiento analógico, Abstracción, Transferencia


En este artículo de revisión se explora una posible contribución de las investigaciones sobre razonamiento analógico al problema de la transferencia en programación -en la transición entre el aprendizaje de conceptos en la escuela media y su aplicación en la universidad. La facilidad con que los alumnos construyen programas en entornos multimedia conlleva la desventaja de una dificultad para trasladar esos conceptos a los lenguajes “reales” basados en texto, probablemente porque no se ha trabajado suficiente en promover abstracciones en el nivel del problema. Según investigaciones en enseñanza de la programación, los alumnos suelen tener mayor dificultad en los niveles de abstracción superior (la comprensión del problema) que en los niveles inferiores (como la codificación). La comparación de problemas mediante razonamiento analógico es una estrategia proveniente de la psicología cognitiva extendida a diversas disciplinas. Sugerimos que su aplicación en el campo de la enseñanza de la programación podría contribuir a solucionar el problema de la dificultad de abstracción en el nivel del problema, y facilitar la transferencia.


Armoni, M. (2013). On Teaching Abstraction in CS to Novices. Journal of Computers in Mathematics and Science Teaching, 32(3), 265–284. https://www.learntechlib.org/p/41271

Armoni, M., & Ben-Ari, M. (2013). Computer Science Concepts in Scratch. Department of Science Teaching , Weizmann Institute of Science. https://stwww1.weizmann.ac.il/scratch/scratch_en/

Armoni, M., Meerbaum-Salant, O., & Ben-Ari, M. (2015). From Scratch to “Real” Programming. ACM Transactions on Computing Education, 14(4), 1–15. https://doi.org/10.1145/2677087

Barnett, S. M., & Ceci, S. J. (2002). When and where do we apply what we learn?: A taxonomy for far transfer. Psychological Bulletin, 128(4), 612–637. https://doi.org/10.1037/0033-2909.128.4.612

Bell, T., Rosamond, F., & Casey, N. (2012). Computer Science Unplugged and Related Projects in Math and Computer Science Popularization. En H. L. Bodlaender, R. Downey, F. V. Fomin, & D. Marx (Eds.), The Multivariate Algorithmic Revolution and Beyond. Lecture Notes in Computer Science, vol 7370 (pp. 398–456). Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30891-8_18

Burgoon, E. M., Henderson, M. D., & Markman, A. B. (2013). There Are Many Ways to See the Forest for the Trees: A Tour Guide for Abstraction. Perspectives on Psychological Science, 8(5), 501–520. https://doi.org/10.1177/1745691613497964

Çakiroğlu, Ü., Sude, S., B., K., Sari, A., Yildiz, S., & Öztürk, M. (2018). Exploring perceived cognitive load in learning programming via Scratch. Research in Learning Technology, 26. https://doi.org/10.25304/rlt.v26.1888

Catrambone, R., & Holyoak, K. J. (1989). Overcoming contextual limitations on problem-solving transfer. Journal of Experimental Psychology: Learning, Memory, and Cognition, 15(6), 1147–1156. https://doi.org/10.1037/0278-7393.15.6.1147

Chi, M. T. H., Feltovich, P. J., & Glaser, R. (1981). Categorization and representation of physics problems by experts and novices. Cognitive Science, 5(2), 121–152. http://www.sciencedirect.com/science/article/pii/S0364021381800298

Dahl, O.-J., Dijkstra, E. W., & Hoare, C. A. R. (1972). Structured programming. Academic Press Ltd.

Denning, P.J., Comer, D. E., Gries, D., Mulder, M. C., Tucker, A., Turner, A. J., & Young, P. R. (1989). Computing as a discipline. Computer, 22(2), 63–70. https://doi.org/10.1109/2.19833

Denning, Peter J. (1985). The Science of Computing: What is computer science? American Scientist, 73(1), 16–19. http://www.jstor.org/stable/27853057

Denning, Peter J. (2003). Great Principles of Computing. Communications of the ACM, 46(11), 15–20. https://doi.org/10.1145/948383.948400

Denning, Peter J. (2017). Computational thinking in science.

Factorovich, P., & O’Connor, F. S. (2016). Cuaderno para el docente. Actividades para aprender a programar. Fundación Sadosky. http://programar.gob.ar/descargas/manual-docente-descarga-web.pdf

Faries, J. M., & Reiser, B. J. (1988). Access and Use of Previous Solutions in a Problem Solving Situation. https://apps.dtic.mil/dtic/tr/fulltext/u2/a224717.pdf

Franklin, D., Hill, C., Dwyer, H. A., Hansen, A. K., Iveland, A., & Harlow, D. B. (2016). Initialization in Scratch. Proceedings of the 47th ACM Technical Symposium on Computing Science Education - SIGCSE ’16, 217–222. https://doi.org/10.1145/2839509.2844569

Gentner, D. (1983). Structure-mapping: A theoretical framework for analogy. Cognitive Science, 7(2), 155–170. https://doi.org/https://doi.org/10.1016/S0364-0213(83)80009-3

Gentner, D. (1989). The mechanisms of analogical transfer. En S. Vosniadou & A. Ortony (Eds.), Similarity and Analogical Reasoning (pp. 199–242). Cambridge University Press.

Gentner, D., Loewenstein, J., & Thompson, L. (2003). Learning and transfer: A general role for analogical encoding. Journal of Educational Psychology, 95(2), 393–408. https://doi.org/10.1037/0022-0663.95.2.393

Gentner, D., & Markman, A. B. (1997). Structure mapping in analogy and similarity. American Psychologist, 52(1), 45–56. https://doi.org/10.1037/0003-066X.52.1.45

Gentner, D., Rattermann, M. J., & Forbus, K. D. (1993). The Roles of Similarity in Transfer: Separating Retrievability From Inferential Soundness. Cognitive Psychology, 25(4), 524–575. https://doi.org/10.1006/cogp.1993.1013

Gick, M. L., & Holyoak, K. J. (1980). Analogical problem solving. Cognitive Psychology, 12(3), 306–355. https://doi.org/10.1016/0010-0285(80)90013-4

Gick, M. L., & Holyoak, K. J. (1983). Schema induction and analogical transfer. Cognitive Psychology, 15(1), 1–38. https://doi.org/10.1016/0010-0285(83)90002-6

Goldstone, R. L., & Son, J. Y. (2005). The Transfer of Scientific Principles Using Concrete and Idealized Simulations. Journal of the Learning Sciences, 14(1), 69–110. https://doi.org/10.1207/s15327809jls1401_4

Harel, I., & Papert, S. (1991). Constructionism. Ablex Publishing.

Hazzan, O. (1999). Reducing Abstraction Level When Learning Abstract Algebra Concepts. Educational Studies in Mathematics, 40(1), 71–90. https://doi.org/10.1023/A:1003780613628

Hazzan, O. (2003). How Students Attempt to Reduce Abstraction in the Learning of Mathematics and in the Learning of Computer Science. Computer Science Education, 13(2), 95–122. https://doi.org/10.1076/csed.

Hazzan, O. (2008). Reflections on teaching abstraction and other soft ideas. ACM SIGCSE Bulletin, 40(2), 40–43. https://doi.org/10.1145/1383602.1383631

Hazzan, O., & Kramer, J. (2007). Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective. Frontier Journal, 4(1), 6–14.

Hazzan, O., & Kramer, J. (2016). Assessing abstraction skills. Communications of the ACM, 59(12), 43–45. https://doi.org/10.1145/2926712

Hoc, J., Green, T., Samurçay, R., & Gilmore, D. (1990). Part 1: Theoretical and Methodological Issues. En J. M. Hoc (Ed.), Psychology of Programming. London: Academic.

Holyoak, K. J., & Thagard, P. (1989). Analogical Mapping by Constraint Satisfaction. Cognitive Science, 13(3), 295–355. https://doi.org/10.1207/s15516709cog1303_1

Kafai, Y., & Resnick, M. (1996). Constructionism in Practice: Designing, Thinking, and Learning in a Digital World (Y. Kafai & M. Resnick (eds.)). Routledge.

Kurtz, K. J., & Loewenstein, J. (2007). Converging on a new role for analogy in problem solving and retrieval: when two problems are better than one. Memory & Cognition, 35(2), 334–341. https://doi.org/10.3758/BF03193454

Malan, D., & Leitner, H. (2007). Scratch for Budding Computer Scientists. SIGCSE 2007: 38th SIGCSE Technical Symposium on Computer Science Education, 39. https://doi.org/10.1145/1227310.1227388

Maloney, J. H., Peppler, K., Kafai, Y., Resnick, M., & Rusk, N. (2008). Programming by Choice: Urban Youth Learning Programming with Scratch. Proceedings of the 39th SIGCSE technical symposium on Computer science education - SIGCSE ’08, 367–371. https://doi.org/10.1145/1352135.1352260

Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2011). Habits of programming in scratch. Proceedings of the 16th annual joint conference on Innovation and technology in computer science education - ITiCSE ’11, 168–172. https://doi.org/10.1145/1999747.1999796

Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (Moti). (2013). Learning computer science concepts with Scratch. Computer Science Education, 23(3). https://doi.org/10.1080/08993408.2013.832022

Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (Moti). (2010). Learning computer science concepts with Scratch. Proceedings of the Sixth international workshop on Computing education research - ICER ’10, 69–76. https://doi.org/10.1145/1839594.1839607

Minervino, R. A., Olguín, V., & Trench, M. (2017). Promoting interdomain analogical transfer: When creating a problem helps to solve a problem. Memory & Cognition, 45(2), 221–232. https://doi.org/10.3758/s13421-016-0655-2

Nassi, I., & Shneiderman, B. (1973). Flowchart techniques for structured programming. ACM SIGPLAN Notices, 8(8), 12–26. https://doi.org/10.1145/953349.953350

Papert, S. (1980). Mindstorms: Children, Computers, and Powerful Ideas. Basic Books.

Papert, S., & Harel, I. (1991). Situating Constructionism. En I. Harel & S. Papert (Eds.), Constructionism (p. 518). Ablex Publishing Corporation.

Perkins, D. N., & Salomon, G. (1988). Teaching for Transfer. Educational Leadership, 46(1), 22–32. https://eric.ed.gov/?id=EJ376242

Perrenet, J. C. (2010). Levels of thinking in computer science: Development in bachelor students’ conceptualization of algorithm. Education and Information Technologies, 15(2), 87–107. https://doi.org/10.1007/s10639-009-9098-8

Perrenet, J., Groote, J. F., & Kaasenbrood, E. (2005). Exploring students’ understanding of the concept of algorithm. Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education - ITiCSE ’05, 64–68. https://doi.org/10.1145/1067445.1067467

Perrenet, J., & Kaasenbrood, E. (2006). Levels of abstraction in students’ understanding of the concept of algorithm. ACM SIGCSE Bulletin, 38(3), 270–274. https://doi.org/10.1145/1140123.1140196

Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., & Kafai, Y. (2009). Scratch: programming for all. Communications of the ACM, 52(11), 60–67. https://doi.org/10.1145/1592761.1592779

Resnick, M., Myers, B., Nakakoji, K., Shneiderman, B., Pausch, R., & Eisenberg, M. (2005). Design Principles for Tools to Support Creative Thinking. Report of Workshop on Creativity Support Tools, 20, 25–36.

Seehorn, D. (2011). K-12 Estándares para las Ciencias de la Computación. En Asociación de Maestros de Ciencias de la Computación (CSTA).

Shneiderman, B., Mayer, R., McKay, D., & Heller, P. (1977). Experimental investigations of the utility of detailed flowcharts in programming. Communications of the ACM, 20(6), 373–381. https://doi.org/10.1145/359605.359610

Statter, D., & Armoni, M. (2016). Teaching Abstract Thinking in Introduction to Computer Science for 7th Graders. Proceedings of the 11th Workshop in Primary and Secondary Computing Education on ZZZ - WiPSCE ’16, 80–83. https://doi.org/10.1145/2978249.2978261

Trench, M., & Minervino, R. A. (2017). Cracking the Problem of Inert Knowledge. Psychology of Learning and Motivation, 66, 1–41. https://doi.org/10.1016/bs.plm.2016.11.001

Turkle, S., & Papert, S. (1990). Epistemological Pluralism: Styles and Voices within the Computer Culture. Signs: Journal of Women in Culture and Society, 16(1), 128–157. https://doi.org/10.1086/494648

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://doi.org/10.1145/1118178.1118215

Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 366(1881), 3717–3725. https://doi.org/10.1098/rsta.2008.0118

Wirth, N. (1976). Algorithms and Data Structures. Pearson Education.
Cómo citar
D’Angelo, V. (2020). Posibles aportes del razonamiento analógico al problema de la abstracción y transferencia en la enseñanza de programación. Revista Colombiana De Computación, 21(2), 71-82. https://doi.org/10.29375/25392115.4035


La descarga de datos todavía no está disponible.
Artículo de revisión