Mental spaces in programming learning, a study from the didactics of computer science
DOI:
https://doi.org/10.5753/rbie.2026.7331Keywords:
Computer science didactics, Cognitive models, Programming, ComputingAbstract
To build a computer program that solves a problem, it must be technically modeled. Prior to such technical modeling, a cognitive model must be developed, that is, the main constituent elements of the problem must be identified and related, guiding the construction of the solution and representing its semantics. This exploratory work analyzes the characteristics of cognitive modeling performed by high school students, which is expressed through writing in natural language. To analyze the students' cognitive model, statistical tools were used, as well as artificial intelligence algorithms that show the semantic relationships of the discourse. We conclude that those discourses that coherently refer to the structuring elements of the problem are associated with viable programs; models that also display complex semantic relationships. On the other hand, impoverished linguistic constructions, which do not refer to strong disciplinary elements and therefore represent a poor model, are generally associated with deficient solutions.
Downloads
References
Aho, A. (2012). Computation and Computational Thinking. The Computer Journal, 55(7) (pp. 832–835). https://doi.org/10.1093/comjnl/bxs074. [GS Search]
Allen, L., Snow, E. y McNamara, D. (2015). Are you reading my mind?: modeling students' reading comprehension skills with natural language processing techniques. In Proceedings of the Fifth International Conference on Learning Analytics And Knowledge - LAK '15. https://doi.org/10.1145/2723576.2723617. [GS Search]
Bouvier, D., Lovellette, E., Matta, J., Alshaigy, B., Becker, B., Craig, M., Jackova, J.,… y Zarb, M. (2016). Novice programmers and the problem description effect. In Proceedings of the 2016 ITiCSE Working Group Reports (pp. 103-118). https://doi.org/10.1145/3024906.3024912. [GS Search]
Brennan, K. y Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. In Proceedings of the 2012 annual meeting of the American educational research association (pp. 1-25). Disponible en [Link]. [GS Search]
Chomsky, W. (1957). Hebrew: The eternal language. Jewish Publication Society. [GS Search]
Clements, D. y Gullo, D. (1984). Effects of computer programming on young children's cognition. Journal of Educational Psychology, 76(6) (pp. 1051–1058). https://doi.org/10.1037/0022-0663.76.6.1051. [GS Search]
Crossley, S., Kim, M., Allen, L. y McNamara, D. (2019). Automated Summarization Evaluation (ASE) Using Natural Language Processing Tools. Artificial Intelligence in Education (pp. 84–95). https://doi.org/10.1007/978-3-030-23204-7. [GS Search]
Ebrahimi, A. (1994). Novice programmer errors: Language constructs and plan composition. International Journal of Human-Computer Studies, 41(4) (pp. 457-480). https://doi.org/10.1006/ijhc.1994.1069. [GS Search]
Fedorenko, E., Ivanova, A., Dhamala, R. y Bers, M. (2019). The Language of Programming: A Cognitive Perspective. Trends in Cognitive Sciences, 23(7) (pp. 525-528). https://doi.org/10.1016/j.tics.2019.04.010. [GS Search]
Fernández, L., Peña, R., Nava, F., y Velázquez, A. (2002). Análisis de las propuestas de la enseñanza de la programación orientada a objetos en los primeros cursos. En Actas de las VIII Jornadas de Enseñanza Universitaria de la Informática (JENUI'02). Universidad de Extremadura (pp. 433-440). [GS Search]
Fitzgerald, S., Simon, B. y Thomas, L. (2002). Strategies that students use to trace code: an analysis based in grounded theory. In proceedings of the first international workshop on Computing education research (pp. 69-80). https://doi.org/10.1145/1089786.1089793. [GS Search]
Frawley, W. (2013). Linguistic semantics. Routledge. [GS Search]
Grandell, L., Peltomäki, M., Back, R. y Salakoski, T. (2006). Why complicate things? Introducing programming in high school using Python. In Proceedings of the 8th Australasian. Conference on Computing Education. Disponible en [Link]. [GS Search]
Henklain, M., Carvalho, L., Feitosa, E. (2025). Dificuldades no aprendizado de programação: Um exame baseado em mapeamento sistemático da literatura e interpretação analítico-comportamental. Revista Brasileira de Informática na Educação, [S. l.], 33 (pp. 1484–1521). https://doi.org/10.5753/rbie.2025.5272. [GS Search]
Johnson-Laird, P. (2010). Mental models and human reasoning. Proceedings of the National Academy of Sciences, 107(43) (pp. 18243-18250). https://doi.org/10.1073/pnas.1012933107. [GS Search]
Kazemitabaar, M., Huang, O., Suh, S., Henley, A. Z., & Grossman, T. (2025). Exploring the design space of cognitive engagement techniques with ai-generated code for enhanced learning. In Proceedings of the 30th International Conference on Intelligent User Interfaces (pp. 695-714). https://doi.org/10.1145/3708359.3712104. [GS Search]
Kintsch, W. y van Dijk, T. (1978). Toward a model of text comprehension and production. Psychological Review, 85(5) (pp. 363–394). https://doi.org/10.1037/0033-295X.85.5.363. [GS Search]
Kintsch, W. (1998). The Representation of Knowledge in Minds and Machines. International Journal of Psychology, 33(6) (pp. 411-420). https://doi.org/10.1080/002075998400169. [GS Search]
Koulouri, T., Lauria, S. y Macredie, R. (2014). Teaching Introductory Programming, ACM Transactions on Computing Education, 14(4) (pp. 1–28). https://doi.org/10.1145/2662412. [GS Search]
Lahtinen, E., Ala-Mutka, K. y Järvinen, H. (2005). A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, 37(3) (pp. 14-8). https://doi.org/10.1145/1151954.1067453. [GS Search]
Liao, Y. y Bright, G. (1991). Effects of computer programming on cognitive outcomes: A meta-analysis. Journal of educational computing research, 7(3) (pp. 251-268), https://doi.org/10.2190/e53g-hh8k-ajrr-k69m. [GS Search]
Litwin, E. (1997). Las Configuraciones Didácticas. Paidós. [GS Search]
López-García, A., Urquiza-Fuentes, J., Mendes, A. J. y Caeiro-Rodríguez, M. (2025). Improving University Students' Learning of Programming Using Customised Pseudocode. Computer Applications in Engineering Education, 33(4). https://doi.org/10.1002/cae.70061. [GS Search]
Lye, S. y Koh, J. (2014). Review on teaching and learning of computational thinking through programming: What is next for K-12? Computers in Human Behavior, 41 (pp. 51–61). https://doi.org/10.1016/j.chb.2014.09.012. [GS Search]
Maloney, J., Peppler, K., Kafai, Y., Resnick. M. y Rusk, N. (2008). Programming by choice: urban youth learning programming with scratch. In Proceedings of the 39th SIGCSE technical symposium on Computer science education (pp. 367-371). https://doi.org/10.1145/1352135.1352260. [GS Search]
Maloney, J., Resnick, M., Rusk, N., Silverman, B. y Eastmond, E. (2010). The Scratch programming language and environment. ACM Transactions on Computing Education (TOCE), 10(4), (pp. 1-15). https://doi.org/10.1145/1868358.1868363. [GS Search]
Mazumder, S. y Pérez, M. (2024). The Correctness of the Mental Model of Arrays After Instruction for CS1 Students. In Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1 (pp. 806-811). https://doi.org/10.1145/3626252.3630943. [GS Search]
McNamara, D. (2004). SERT: Self-Explanation Reading Training. Discourse Processes, 38(1) (pp. 1-30). https://doi.org/10.1207/s15326950dp3801_1. [GS Search]
Meerbaum-Salant, O., Armoni, M. y Ben-Ari, M. (2013). Learning computer science concepts with scratch. Computer Science Education, 23(3) (pp. 239-264). https://doi.org/10.1145/1839594.1839607. [GS Search]
Mikolov, T., Chen, K., Corrado, G. y Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv, Ithaca, Nueva York. https://doi.org/10.48550/arXiv.1301.3781. [GS Search]
Miños Fayad, A. (2016a). Uso didáctico de estrategias inductivas en un curso introductorio de programación estructurada. Tecné, episteme y didaxi, 39 (pp. 95-110). https://doi.org/10.17227/01203916.4583. [GS Search]
Miños Fayad, A. (2016b). Del decímelo con tus palabras al no usar las palabras... Una experiencia de evaluación desde la didáctica de la informática. InterCambios. Dilemas y Transiciones De La Educación Superior, 3(2) (pp. 77-81). [GS Search]
Miños Fayad, A. (2017). Elementos estructurantes de la Didáctica de la Informática. Virtualidad, Educación y Ciencia, 8(14) (pp. 100-110). Disponible en [Link]. [GS Search]
Mota, N., Furtado, R., Maia, P., Copelli, M. y Ribeiro, S. (2014). Graph analysis of dream reports is especially informative about psychosis. Scientific reports, 4(3691). https://doi.org/10.1038/srep03691. [GS Search]
Pesce, F. (2014). La didáctica en la formación de docentes para la enseñanza media en Uruguay. InterCambios. Dilemas y Transiciones De La Educación Superior, 1(1) (pp. 52-61). [GS Search]
Piccolo, S. R., Denny, P., Luxton-Reilly, A., Payne, S. H., y Ridge, P. G. (2023). Evaluating a large language model's ability to solve programming exercises from an introductory bioinformatics course. PLOS Computational Biology, 19(9). https://doi.org/10.1371/journal.pcbi.1011511. [GS Search]
Prat, CS, Madhyastha, TM, Mottarella, MJ y Kuo, C. (2020). Relating natural language aptitude to individual differences in learning programming languages. Scientific reports, 10(1). https://doi.org/10.1038/s41598-020-60661-8. [GS Search]
Prather, J., Denny, P., Leinonen, J., Becker, B. A., Albluwi, I., Craig, Keuning, H.,… y Savelka, J. (2023). The robots are here: Navigating the generative ai revolution in computing education. In Proceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education (pp. 108-59). https://doi.org/10.1145/3623762.3633499. [GS Search]
Pressman, R., (2010). Ingeniería de software. Un enfoque práctico (7ª ed.). México: Mc Graw Hill Educación.
Renumol, V., Janakiram, D. y Jayaprakash, S. (2010). Identification of Cognitive Processes of Effective and Ineffective Students During Computer Programming. ACM Transactions on Computing Education, 10(3) (pp. 1–21). https://doi.org/10.1145/1821996.1821998. [GS Search]
Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B. y Kafai, Y. (2009). Scratch: programming for all. Communications of the ACM, 52(11) (pp. 60-67). https://doi.org/10.1145/1592761.1592779. [GS Search]
Robins, A., Rountree, J. y Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2) (pp. 137–172). https://doi.org/10.1076/csed.13.2.137.14200. [GS Search]
Sanders, I., Galpin, V. y Götschi, T. (2006). Mental models of recursion revisited. ACM SIGCSE Bulletin, 38(3) (pp. 138-142). https://doi.org/10.1145/1140124.1140162. [GS Search]
Scaffidi, C. y Chambers, C. (2012). Skill progression demonstrated by users in the Scratch animation environment. International Journal of Human-Computer Interaction, 28(6) (pp. 383-398). https://doi.org/10.1080/10447318.2011.595621. [GS Search]
Sentance, S., y Waite, J. (2021). Teachers' perspectives on talk in the programming classroom: Language as a mediator. In Proceedings of the 17th ACM Conference on International Computing Education Research (pp. 266-280). https://doi.org/10.1145/3446871.3469751. [GS Search]
Shute, V., Sun, C. y Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational Research Review, 22 (pp. 142–158). https://doi.org/10.1016/j.edurev.2017.09.003. [GS Search]
Skalicky, S., Crossley, S., McNamara, D. y Muldner, K. (2017). Identifying Creativity During Problem Solving Using Linguistic Features. Creativity Research Journal, 29(4) (pp. 343-353). https://doi.org/10.1080/10400419.2017.1376490. [GS Search]
Soloway, E. (1986). Learning to program= learning to construct mechanisms and explanations. Communications of the ACM, 29(9) (pp. 850-858). https://doi.org/10.1145/6592.6594. [GS Search]
Valle-Lisboa. J. y Mizraji, E. (2007). The uncovering of hidden structures by Latent Semantic. Analysis. Information Sciences, 177(19) (pp. 4122–4147). https://doi.org/10.1016/j.ins.2007.04.007. [GS Search]
Valle-Lisboa, J., Pomi, A., Cabana, A., Elvevåg, B. y Mizraji, E. (2014). A modular approach to language production: Models and facts. Cortex, 55 (pp. 61–76). https://doi.org/10.1016/j.cortex.2013.02.005. [GS Search]
Van Dijk, T. (1980). Estructuras y funciones del discurso: una introducción interdisciplinaria a la lingüística del texto ya los estudios del discurso. Siglo XXI. [GS Search]
Van Dijk, T. (2019). El discurso como interacción social. Gedisa. [GS Search]
Villalobos, J. y Calderón, N. (2009). Proyecto Cupi2: un enfoque multidimensional frente al problema de enseñar y aprender a programar. Revista De Investigaciones UNAD, 8(2) (pp. 45-64). https://doi.org/10.22490/25391887.635. [GS Search]
Webb, M., Davis, N., Bell, T., Katz, Y., Reynolds, N., Chambers, D. y Sysło, M. (2017). Computer science in K-12 school curricula of the 2lst century: Why, what and when?. Education and Information Technologies, 22(2) (pp. 445-468). https://doi.org/10.1007/s10639-016-9493-x. [GS Search]
Wiedenbeck, S. y Ramalingam, V. (1999). Novice comprehension of small programs written in the procedural and object-oriented styles. International Journal of Human-Computer Studies, 51(1) (pp. 71–87). https://doi.org/10.1006/ijhc.1999.0269. [GS Search]
Wing, J. (2006). Computational thinking. Communications of the ACM. 49(3) (pp. 33-35). https://doi.org/10.1145/1118178.1118215. [GS Search]
Winslow, L. (1996). Programming pedagogy – A psychological overview. SIGCSE Bulletin, 28 (pp. 17-22). https://doi.org/10.1145/234867.234872. [GS Search]
Xie, B., Nelson, G. y Ko, A. (2018). An Explicit Strategy to Scaffold Novice Program Tracing. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education - SIGCSE '18 (pp. 344-349). https://doi.org/10.1145/3159450.3159527. [GS Search]
Xie, B., Loksa, D., Nelson, G., Davidson, M., Dong, D., Kwik, H., Hui Tan, A., Hwa, L., Li., M. y Ko, A. (2019). A theory of instruction for introductory programming skills. Computer Science Education, 29(3) (pp. 205-253). https://doi.org/10.1080/08993408.2019.1565235. [GS Search]
Additional Files
Published
How to Cite
Issue
Section
License
Copyright (c) 2026 Alejandro Miños Fayad, Juan Valle-Lisboa

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

