Educational Tools for Teaching Programming in High School and Technical Courses: An Integrative Review
DOI:
https://doi.org/10.5753/reic.2026.7310Keywords:
Programming education, Gamification, Educational robotics, Block-based programmingAbstract
Teaching programming in educational contexts remains a challenge, characterised by conceptual abstraction, difficulties in applying theory to practice, and students’ lack of interest. Skills such as logical reasoning, problem-solving, and computational thinking—often underdeveloped in the early years—intensify these obstacles. This integrative review aimed to identify tools and methodologies that support the teaching and learning of algorithms and programming, providing guidance for more effective pedagogical practices. A total of 1,024 studies published between 2019 and 2024 were analysed, of which 20 met the selection criteria and presented relevant evidence. The findings indicate that strategies such as gamification, interactive platforms, and educational games enhance engagement and facilitate learning. Educational robotics also stands out for linking programming to practical activities, fostering technical, cognitive, and socio-emotional development. Furthermore, block-based languages such as Scratch and Blockly ease the initial understanding of concepts by reducing syntactic complexity and enabling students to focus on algorithmic logic. Despite these advances, structural limitations persist, particularly in schools with limited access to technology. Therefore, public policies, continuous teacher training, and investment in infrastructure are essential to expand the adoption of these practices and ensure inclusive, high-quality teaching in algorithms and programming.
Downloads
References
Afari, E. and Khine, M. (2017). Robotics as an educational tool: Impact of lego mindstorms. International Journal of Information and Education Technology, 7:437–442. DOI: 10.18178/ijiet.2017.7.6.908.
Agbo, F. J., Oyelere, S. S., Suhonen, J., and Adewumi, S. (2019). A systematic review of computational thinking approach for programming education in higher education institutions. In Proceedings of the 19th Koli Calling International Conference on Computing Education Research, Koli Calling ’19, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/3364510.3364521.
Asgari, M., Tsai, F.-C., Mannila, L., Strömbäck, F., and Sadique, K. M. (2024). Students’ perspectives on using digital tools in programming courses. Discover Education, 3. DOI: 10.1007/s44217-024-00144-4.
Barbosa, L., Couto, C., and Terra, R. (2016). Portucol: uma pseudo linguagem inspirada em c ansi para o ensino de lógica de programação e algoritmos. In Anais do XXIV Workshop sobre Educação em Computação, pages 2343–2352, Porto Alegre, RS, Brasil. SBC. DOI: 10.5753/wei.2016.9678.
Botelho, L. L. R., Cunha, C. C. d. A., and Macedo, M. (2011). O MÉTODO DA REVISÃO INTEGRATIVA NOS ESTUDOS ORGANIZACIONAIS. Gestão e Sociedade, 5(11):121–136. DOI: 10.21171/ges.v5i11.1220.
CodeCombat (2024). About codecombat (codecombat documentation site). Disponível em: [link]. Acessado em 21 de fevereiro de 2026.
de Farias, C. M., de Oliveira, A. S., and de A. Silva, E. D. (2018). Uso do scratch na introdução de conceitos de logica de programação: relato de experiência. In Anais do XXVI Workshop sobre Educação em Computação, Porto Alegre, RS, Brasil. SBC. DOI: 10.5753/wei.2018.3491.
dos Anjos, S. M., Perin, T. A., de Oliveira Meda, M. P., Andrade, H. R. I., Freiress, K. C. P., and Minetto, V. A. (2024). Tecnologia na educação : uma jornada pela evoluça o histórica, desafios atuais e perspectivas futuras. Quipá Editora, 1 edition. Disponível em: [link].
Eugenio F. Pereira, D., Duarte Seabra, R., and Diniz de Souza, A. (2021). Ferramentas de apoio ao ensino introdutório de programação: um mapeamento sistemático. RENOTE, 18(2):491–500. DOI: 10.22456/1679-1916.110289.
Garlet, D., Bigolin, N. M., and Silveira, S. R. (2018). Ensino de programação de computadores na educação básica: um estudo de caso. Revista Eletrônica de Sistemas de Informação e Gestão Tecnológica, 9:135–160. Disponível em: [link].
Instituto Semesp (2023). Mapa do ensino superior no brasil: 13a edição. Publicação baseada em dados do Censo da Educação Superior 2021 (Inep) e outras fontes como IBGE, ENEM, PROUNI, CAGED e RAIS. Disponível em: [link].
Inventor, M. A. (2012). About mit app inventor (mit app inventor documentation site). Disponível em: [link]. Acessado em 21 de fevereiro de 2026.
José Richter, C., Bernardi, G., and Zanki Cordenonsi, A. (2019). O ensino de programação mediado por tecnologias educacionais: uma revisão sistemática de literatura. RENOTE, 17(1):517–526. DOI: 10.22456/1679-1916.95903.
Larsen, F. N. (2021). Readme for robocode. Disponível em: [link]. Acessado em 21 de fevereiro de 2026.
MJ, P. (2020). Prisma 2020 flow diagram for new systematic reviews which included searches of databases and registers only. Diponível em: [link]. Acessado em 21 de fevereiro de 2026.
Moraes, R. P. d., Costa, V. F. d., and Scholz, R. E. P. (2022). Mapeamento sistemático do ensino introdutório de programação nos ensinos técnico e superior no brasil. Revista Brasileira de Informática na Educação, 30:628–647. DOI: 10.5753/rbie.2022.2611.
Oliveira, S., Siqueira, A., and Romão, E. (2020). Aprendizagem baseada em projetos no ensino medio: estudo comparativo entre metodos de ensino. Bolema: Boletim de Educação Matematica, 34:764–785. DOI: 10.1590/1980-4415v34n67a20.
Oro, N., Pazinato, A., Teixeira, A., and Ádler Gross (2015). A olimpíada de programação de computadores para estudantes do ensino fundamental: A interdisciplinaridade por meio do software scratch. In Anais do XXI Workshop de Informática na Escola, pages 102–111, Porto Alegre, RS, Brasil. SBC. DOI: 10.5753/cbie.wie.2015.102.
Paiva, J. C., Leal, J. P., and Queirós, R. (2020). Fostering programming practice through games. Information, 11(11). DOI: 10.3390/info11110498.
Pan, T. and Zhu, Y. (2018). Getting Started with Arduino, pages 3–16. Springer Singapore, Singapore. DOI: 10.1007/978-981-10-4418-2_1.
Rovshenov, A. and Sarsar, F. (2023). Research trends in programming education: A systematic review of the articles published between 2012-2020. Journal of Educational Technology and Online Learning, 6:34. DOI: 10.31681/jetol.1201010.
Scratch (2024). ABOUT Scratch (Scratch Documentation Site). Disponível em: [link]. Acessado em 21 de fevereiro de 2026.
SETEC/MEC (2022). Rede federal de educação profissional, científica e tecnológica. Disponível em: [link]. Acessado em 21 de fevereiro de 2026.
Silva, W. d. S., Lima, M. S., Raposo, J. C. d. S., and Silva Júnior, L. C. F. d. (2018). Levantamento sobre as dificuldades dos discentes nas disciplinas de programação no curso técnico de informática. Diversitas Journal, 3(3):761–770. DOI: 10.17648/diversitas-journal-v3i3.616.
Snyder, H. (2019). Literature review as a research methodology: An overview and guidelines. Journal of Business Research, 104:333–339. DOI: 10.1016/j.jbusres.2019.07.039.
Sousa, M., Albuquerque, D., Leal, R., Maia, M., Gomes, A., and Perkusich, M. (2022). Análise dos fatores de evasão dos alunos dos cursos técnicos da Área de informática no ifpb campus campina grande. In Anais do XXX Workshop sobre Educação em Computação, pages 369–380, Porto Alegre, RS, Brasil. SBC. DOI: 10.5753/wei.2022.223124.
Viana, A. M. and dos Santos Souza, T. M. (2024). UMA ANÁLISE DAS DIFICULDADES DE APRENDIZAGEM DA PROGRAMAÇÃO DE COMPUTADORES NO CURSO TÉCNICO INTEGRADO EM INFORMÁTICA DO IFBA - CAMPUS BRUMADO. Seminário Nacional e Seminário Internacional Políticas Públicas, Gestão e Práxis Educacional, 1:2974–2990. Disponível em: [link].
Vieira, C. E. C., Lima Junior, J. A. T. d., and Vieira, P. d. P. (2015). Dificuldades no processo de aprendizagem de algoritmos: uma analise dos resultados na disciplina de al1 do curso de sistemas de informação da faeterj – campus paracambi. Cadernos UniFOA, 10(27):5–15. DOI: 10.47385/cadunifoa.v10.n27.293.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2026 The authors

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