Difficulties in Learning Programming: An Examination Based on a Systematic Literature Mapping and a Behavioral-Analytical Interpretation

Authors

DOI:

https://doi.org/10.5753/rbie.2025.5272

Keywords:

Computer Education, Difficulties in Learning to Program, Behavior Analysis

Abstract

Learning to program is a demand for many 21st-century citizens. However, difficulties in this learning process persist, challenging educators. To help mitigate this problem, we defined two objectives for this study: (1) To identify students’ difficulties in the initial learning of programming based on a systematic literature mapping (SLM); and (2) To propose variables, based on behavioral-analytical psychological theory and open to future research, associated with these difficulties. For the SLM, we defined a search string that was applied in three databases: Web of Science, ACM Digital Library, and IEEE Xplore. We found 503 studies. After applying inclusion and exclusion criteria, 11 remained. Only four researchers had more than one publication. These studies are concentrated in the last decade and are typically published in journals, are empirical in nature, and identify programming difficulties based on the perceptions of students or teachers, with emphasis on language features and programming concepts, as well as behaviors such as problem-solving, reading and interpreting code, and identifying sources of errors. For the second objective, we considered that behavioral-analytical theory interprets psychological phenomena as behaviors and analyzes them as a system of interactions between the antecedent environment, the person’s actions, and the consequent environment. Thus, based on the SLM results and on our experience, we proposed 9 variables related to the antecedent environment that are difficult for us to discriminate and, therefore, contribute to difficulties in programming, as well as 9 variables related to the consequent environment, associated with the teaching context, that may make the learning process less effective. We also highlight some behavioral repertoires that are important to develop for success in programming tasks. With this work, we hope to foster behavior-analytic studies aimed at understanding and addressing difficulties in learning programming.

Downloads

Download data is not yet available.

References

Alasmari, O. A., Singer, J., & Ada, M. B. (2024). Do current online coding tutorial systems address novice programmer difficulties? In: Proceedings of the 15th International Conference on Education Technology and Computers (ICETC '23) (pp. 242-248). Association for Computing Machinery, New York, USA. https://doi.org/10.1145/3629296.3629333. [GS Search]

Araujo, A., Zordan-Filho, D., Oliveira, E., Carvalho, L., Pereira, F., & Oliveira, D. (2021). Mapeamento e análise empírica de misconceptions comuns em avaliações de introdução à programação. In: Anais do Simpósio Brasileiro de Educação em Computação (pp. 123-131). Porto Alegre: SBC. https://10.0.22.121/educomp.2021.14478. [GS Search]

Bandini, C. S. M. B., & Delage, P. E. G. A. (2012). Pensamento e criatividade. In: M. M. C. Hübner, & M. B. Moreira, Temas clássicos da psicologia sob a ótica da Análise do Comportamento (pp. 116-128). Rio de Janeiro: Guanabara Koogan.

BNCC. (2018). Base Nacional Comum Curricular: Educação é a Base. Disponível em: [link].

Botomé, S. (2015). O conceito de comportamento operante como problema. Revista Brasileira de Análise do Comportamento, 9(1), 9-46. http://dx.doi.org/10.18542/rebac.v9i1.2130. [GS Search]

Brasscom. (2021). Demanda de talentos em TIC e estratégia ΣTCEM: Relatório de Inteligência e Informação BR12-2021-007 – v112. Disponível em: [link].

Carrara, K., & Strapasson, B. A. (2014). Em que sentido(s) é radical o Behaviorismo Radical?. Acta Comportamentalia: Revista Latina de Análisis del Comportamiento, 22(1), 101-115. Disponível em: [link] [GS Search]

Carvalho-Neto, M. (2002). Análise do comportamento: Behaviorismo radical, análise experimental do comportamento e análise aplicada do comportamento. Interação em Psicologia, 6(1), 13-18. http://dx.doi.org/10.5380/psi.v6i1.3188. [GS Search]

Castro, F., & Tedesco, P. (2020). Promovendo a reflexão sobre o erro em disciplinas introdutórias de programação no ensino superior. Revista Brasileira de Informática na Educação, 28, 150-165. https://doi.org/10.5753/rbie.2020.28.0.150. [GS Search]

Cianca, B. C., Panosso, M. G., & Kienen, N. (2020). Programação de Condições para Desenvolvimento de Comportamentos: Caracterização da produção científica brasileira de 1998-2017. Perspectivas em Análise do Comportamento, 11(2), 114-136. https://doi.org/10.18761/PAC.2020.v11.n2.01. [GS Search]

Cortegoso, A. L., & Coser, D. S. (2023). Elaboração de programas de ensino: Material autoinstrutivo. São Carlos: EdUFSCar. [GS Search]

De Luca, G. G., Magalhães, C. N, Rauch, S. L. B., Gusso, H. L., & Kienen, N. (2022). Problemas de pesquisa em estudos de Programação de Condições para Desenvolvimento de Comportamentos. Acta Comportamentalia: Revista Latina de Análisis del Comportamiento, 30(3), 423-442. Disponível em: [link]. [GS Search]

Eranki, K. L. N., & Moudgalya, K. M. (2015). Evaluation of Programming Competency Using Student Error Patterns. In: 2015 International Conference on Learning and Teaching in Computing and Engineering (pp. 34-41). Taipei, Taiwan. https://doi.org/10.1109/LaTiCE.2015.16. [GS Search]

Espinal, A., Vieira, C., & Guerrero-Bequis, V. (2022). Student ability and difficulties with transfer from a block-based programming language into other programming languages: a case study in Colombia. Computer Science Education, 33(4), 567-599. https://doi.org/10.1080/08993408.2022.2079867. [GS Search]

Gouveia, V. V., Guerra, V. M., Sousa, D. M. F., Santos, W. S., & Costa, J. M. (2009). Escala de Desejabilidade Social de Marlowe-Crowne: Evidências de sua validade fatorial e consistência interna. Avaliação Psicológica, 8(1), 87-98. Disponível em: [link]. [GS Search]

Gris, G., Palombarini, L. S., & Carmo, J. S. (2019). Uma revisão sistemática de variáveis relevantes na produção de erros em matemática. Bolema: Boletim de Educação Matemática, 33(64), 649-671. https://doi.org/10.1590/1980-4415v33n64a10. [GS Search]

Harangus, K. (2019). Examining the relationships between problem-solving and reading comprehension skills. New Trends and Issues Proceedings on Humanities and Social Sciences, 6(5), 66-74. https://doi.org/10.18844/prosoc.v6i5.4375. [GS Search]

Hashim, A. S., Ahmad, R., & Shahrul Amar, M. S. (2017). Difficulties in Learning Structured Programming: A Case Study in UTP. In: 2017 7th World Engineering Education Forum (WEEF) (pp. 210-215). Kuala Lumpur, Malaysia. https://doi.org/10.1109/WEEF.2017.8467151. [GS Search]

Hattie, J. (2015). What works best in education: The politics of collaborative expertise. London: Pearson. Disponível em: [link].

Fontoura-Júnior, J. M., Ribeiro, P. V. S., Pereira, L. B. F., Barros, K. W. C., Souza, O. S., Lima, R. N., Almada, N. R., Moraes, M. S., & Henklain, M. H. O. (2023). Avaliação de eficiência do curso introdução prática à programação de computadores. Revista de Ciência e Tecnologia, 9(1). https://doi.org/10.18227/2447-7028rct.v97586. [GS Search]

Heward, W. L., Critchfield, T. S., Reed, D. D., Detrich, R., & Kimball, J. W. (2022). ABA from A to Z: Behavior Science Applied to 350 Domains of Socially Significant Behavior. Perspectives on Behavior Science, 45, 327-359. https://doi.org/10.1007/s40614-022-00336-z. [GS Search]

Kienen, N., Panosso, M. G., Nery, A. G. S., Waku, I., and Carmo, J. S. (2021). Contextualização sobre a Programação de Condições para Desenvolvimento de Comportamentos (PCDC): Uma experiência brasileira. Perspectivas em Análise do Comportamento, 12(2), 360-390. Disponível em: [link]. [GS Search]

Lazzari, C. L. (2013). Características da classe de comportamentos ‘programar computadores’ como parte da capacitação de profissional da computação. [Dissertação de mestrado]. Universidade Federal de Santa Catarina. Disponível em: [link]. [GS Search]

Leão, M., & Laurenti, C. (2009). Uma análise do modelo de explicação no behaviorismo radical: o estatuto do comportamento e a relação de dependência entre eventos. Interação em Psicologia, 13(1), 165-174. http://dx.doi.org/10.5380/psi.v13i1.12462. [GS Search]

Medeiros, R. P., Falcão, T. P., & Ramalho, G. L. (2020). Ensino e aprendizagem de introdução à programação no ensino superior brasileiro: Revisão Sistemática da Literatura. In: Anais do Workshop sobre Educação em Computação (WEI) (pp. 186-190). Porto Alegre: Sociedade Brasileira de Computação. https://doi.org/10.5753/wei.2020.11155. [GS Search]

Merchán-Rubiano, S. M., López-Cruz, O., & Gómez Soto, E. (2015). Teaching computer programming: Practices, difficulties and opportunities. In: 2015 IEEE Frontiers in Education Conference (FIE) (pp. 1-9). El Paso, TX, USA. https://doi.org/10.1109/FIE.2015.7344184. [GS Search]

Moreira, M. B., & Medeiros, C. A. (2018). Princípios básicos de análise do comportamento. Porto Alegre: Artmed, 320p. [GS Search]

Mow, I. C. (2008). Issues and Difficulties in Teaching Novice Computer Programming. In: Iskander, M. (eds), Innovative Techniques in Instruction Technology, E-learning, E-assessment, and Education (pp. 199-204). Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-8739-4_36. [GS Search]

Pereira, A., Carvalho, L., & Souto, E. (2019). Predição de evasão de estudantes non-majors em disciplina de introdução à programação. In: Anais dos Workshops do Congresso Brasileiro de Informática na Educação, 8(1), 178-187. https://doi.org/10.5753/cbie.wcbie.2019.178. [GS Search]

Petersen, K., Vakkalanka, S., Kuzniarz, L. (2015). Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology, 64, 1-18. [GS Search]

Pranckutė, R. (2021). Web of Science (WoS) and Scopus: The Titans of bibliographic information in today’s academic world. Publications, 9(12), 1-59. https://doi.org/10.3390/publications9010012. [GS Search]

Qian, Y., & Lehman, J. (2017). Students’ Misconceptions and Other Difficulties in Introductory Programming: A Literature Review. ACM Transactions on Computing Education, 18(1). https://doi.org/10.1145/3077618. [GS Search]

Qian, Y., & Lehman, J. (2021). Using an automated assessment tool to explore difficulties of middle school students in introductory programming. Journal of Research on Technology in Education, 54(3), 375-391. https://doi.org/10.1080/15391523.2020.1865220. [GS Search]

Ribeiro, K. L., Oliveira, Y. N., & Henklain, M. H. O. (2021). Treinar a correspondência entre diferentes formas de apresentar problemas melhora o desempenho matemático. Avances en Psicología Latinoamericana, 39(1), 1-18. https://doi.org/10.12804/revistas.urosario.edu.co/apl/a.8931. [GS Search]

Sampaio, A., de Azevedo, F., Cardoso, L., de Lima, C., Pereira, M., & Andery, M. (2008). Uma introdução aos delineamentos experimentais de sujeito único. Interação em Psicologia, 12(1), 151-164. http://dx.doi.org/10.5380/psi.v12i1.9537. [GS Search]

Santana, B. L., Chavez, C. V. F. G., & Bittencourt, R. A. (2021). Uma definição operacional para pensamento computacional. In: Anais do Simpósio Brasileiro de Educação em Computação (EDUCOMP) (pp. 93-103). Porto Alegre: SBC. https://doi.org/10.5753/educomp.2021.14475. [GS Search]

Sério, T. M. de A. P. (2005). O behaviorismo radical e a psicologia como ciência. Revista Brasileira de Terapia Comportamental e Cognitiva, 7(2), 247-261. https://doi.org/10.31505/rbtcc.v7i2.554. [GS Search]

Sidman, M. (1994). Equivalence relations and behavior: A research story. Boston: Authors Cooperative. [GS Search]

Sidman, M. (2009). Coerção e suas implicações (M. A. Andery & T. M. Sério, trads). Campinas, SP: Livro Pleno. (Trabalho original publicado em 1989).

Silva, D. N., Brito, J. R., & Vaz, N. A. P. (2019). Lógica de Programação: Dificuldades de ensino-aprendizagem, métodos e ferramentas computacionais. In: Anais do X Simpósio de Tecnologia da Informação, XI Semana de Iniciação Científica do curso de Sistemas de Informação e IV Colóquio de Estágio (sem página). Goiás: Universidade Estadual de Goiás. Disponível em: [link]. [GS Search]

Silva, E., Caceffo, R., & Azevedo, R. (2022). Análise dos tópicos mais abordados em disciplinas de introdução à programação em universidades federais brasileiras. In: Anais do II Simpósio Brasileiro de Educação em Computação (pp. 29-39). Porto Alegre: SBC. https://doi.org/10.5753/educomp.2022.19196. [GS Search]

Silva, G. H. G. da, Lautert, S. L., Carmo, J. S., Santos, E. M., & Santos, D. E. L. (2023). Microagressões no contexto de ensino e aprendizagem da matemática: Uma análise teórico-conceitual. Educação Matemática Pesquisa Revista do Programa de Estudos Pós-Graduados em Educação Matemática, 25(1), 283-304. https://doi.org/10.23925/1983-3156.2023v25ip283-304. [GS Search]

Singh, V. K., Singh, P., Karmakar, M., Leta, J., & Mayr, P. (2021). The journal coverage of Web of Science, Scopus and Dimensions: A comparative analysis. Scientometrics, 126(6), 5113-5142. https://doi.org/10.1007/s11192-021-03948-5. [GS Search]

Smith, R., & Rixner, S. (2019). The error landscape: Characterizing the mistakes of novice programmers. In: Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE '19) (pp. 538-544). Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3287324.3287394. [GS Search]

Todorov, J. C. (2007). A Psicologia como o estudo de interações. Psicologia: Teoria e Pesquisa, 23(spe), 57-61. https://doi.org/10.1590/S0102-37722007000500011. [GS Search]

UNESCO (2014, 10 de julho). Learn by coding. Disponível em: [link].

Wazlawick, R. S. (2021). Metodologia de pesquisa para ciência da computação (3 ed.). Rio de Janeiro: LTC. [GS Search]

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

Yong, S. T., & Tiong, K. M. (2022). A Blended Learning Approach: Motivation and Difficulties in Learning Programming. International Journal of Information and Communication Technology Education (IJICTE), 18(1), 1-16. http://doi.org/10.4018/IJICTE.301276. [GS Search]

Yusoff, K. M., Ashaari, N. S., Wook, T. S. M. T., & Ali, N. M. (2020). Analysis on the requirements of computational thinking skills to overcome the difficulties in learning programming. International Journal of Advanced Computer Science and Applications (IJACSA), 11(3), 244-253. http://dx.doi.org/10.14569/IJACSA.2020.0110329. [GS Search]

Zilio, D., & Neves Filho, H. (2018). O que (não) há de “complexo” no comportamento? Behaviorismo radical, self, insight e linguagem. Psicologia USP, 29(3), 374-384. https://doi.org/10.1590/0103-656420170027. [GS Search]

Published

2025-10-27

How to Cite

HENKLAIN, M. H. O.; CARVALHO, L. S. G. de; FEITOSA, E. L. Difficulties in Learning Programming: An Examination Based on a Systematic Literature Mapping and a Behavioral-Analytical Interpretation. Brazilian Journal of Computers in Education, [S. l.], v. 33, p. 1484–1521, 2025. DOI: 10.5753/rbie.2025.5272. Disponível em: https://journals-sol.sbc.org.br/index.php/rbie/article/view/5272. Acesso em: 18 dec. 2025.

Issue

Section

Articles

Most read articles by the same author(s)