PROGRAMMING EDUCATION IN HIGHER INSTITUTION: A CHRONOLOGICAL REVIEW
DOI:
https://doi.org/10.35631/IJEPC.1165002Keywords:
Higher Institution, Programming EducationAbstract
Computational thinking and coding skills are becoming a crucial part of higher education, and programming education is now a mandatory part of it. Nonetheless, the history of research on programming education has changed significantly over the years, and pedagogical strategies, learning technologies, assessment, and new educational issues have changed. Although the literature is increasing, there is a dearth of a chronological knowledge of how programming education research has been born, grown, and developed in higher education. The purpose of this study is thus to critically review the history of research in the field of programming education in higher education by critically reviewing the literature chronologically. The Scopus database was searched systematically with the main keywords being programming education and higher institution to find relevant scholarly publications. After the predetermined search and selection, 88 primary studies (n = 88) were included in the analysis and grouped into three chronological periods: (1) Emergence and Foundational Development (19982014), (2) Expansion and Consolidation (20152023), and (3) Accelerated Growth and Research Maturation (20242026). The chronological review shows that research interest has evolved over time and that there has been a shift in the focus of research to more varied, technology-enhanced, learner-centred, and research-based methods. The results give a systematic overview of the evolving research environment and emphasize the way programming education has evolved to meet pedagogical, technological, and learner-based challenges in higher education. The research adds a time dimension that can guide researchers and educators to determine the already set directions, new priorities and future research opportunities in programming education.
Downloads
References
Abdullah, S., & Al Musawi, A. S. (2026). Balancing innovation and integrity in using generative AI for a new computer programming assignments approach. Journal of Education and E-Learning Research, 13(1), 140–149. https://doi.org/10.20448/jeelr.v13i1.8231
Agbo, J., Oyelere, S., Suhonen, J., & 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. https://doi.org/10.1145/3364510.3364521
Alanazi, M., Li, A., Almalawi, A., Samra, H., & Soh, B. (2026). Pedagogical Transformation and Teaching Practice in Programming Education Through AI Coding Assistants: Faculty Perspectives and the AI Coding Assistant Adoption Framework. Applied Sciences (Switzerland), 16(10). https://doi.org/10.3390/app16104833
Becker, B., Denny, P., Finnie-Ansley, J., Luxton-Reilly, A., Prather, J., & Santos, E. (2022). Programming Is Hard - Or at Least It Used to Be: Educational Opportunities and Challenges of AI Code Generation. Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1. https://doi.org/10.1145/3545945.3569759
Bikanga Ada, M. (2026). Programming Challenges and Perceptions: A Study of Separate Groups before and after the Release of ChatGPT. ACM Transactions on Computing Education, 26(2). https://doi.org/10.1145/3777904
Bilegjargal, D., & Hsueh, N.-L. (2021). Understanding students’ acceptance of online judge system in programming courses: A structural equation modeling approach. IEEE Access, 9, 152606–152615. https://doi.org/10.1109/ACCESS.2021.3126896
Boguslawski, S., Deer, R., & Dawson, M. G. (2025). Programming education and learner motivation in the age of generative AI: student and educator perspectives. Information and Learning Science, 126(1–2), 91–109. https://doi.org/10.1108/ILS-10-2023-0163
Böszörményi, L. (1998). Why Java is not my favorite first-course language. Software-Concepts and Tools, 19(3), 141–145. https://doi.org/10.1007/s003780050017
Bouallegue, S., Omri, A., & Al-Naemi, S. (2026). Machine Learning Approaches for Early Student Performance Prediction in Programming Education. Information (Switzerland), 17(1). https://doi.org/10.3390/info17010060
Brito, M. A., & De Sá-Soares, F. (2014). Assessment frequency in introductory computer programming disciplines. Computers in Human Behavior, 30, 623–628. https://doi.org/10.1016/j.chb.2013.07.044
Byun, J., Park, J., & Oh, A. (2021). Cocode: Providing Social Presence with Co-learner Screen Sharing in Online Programming Classes. Proceedings of the ACM on Human-Computer Interaction, 5(CSCW2). https://doi.org/10.1145/3476041
Cetin, I. (2013). Visualization: A tool for enhancing students’ concept images of basic object-oriented concepts. Computer Science Education, 23(1), 1–23. https://doi.org/10.1080/08993408.2012.760903
Chen, H.-M., Nguyen, B.-A., & Dow, C.-R. (2022). Code-quality evaluation scheme for assessment of student contributions to programming projects. Journal of Systems and Software, 188. https://doi.org/10.1016/j.jss.2022.111273
Cheung, C. Y., Chiu, L. M., Su, Y., Chiu, D. K. W., & Ho, K. K. W. (2025). Effectiveness of Online Higher Education Programming Education During COVID-19 Under the Lens on the 5E Instructional Model. IT Professional, 27(2), 75–83. https://doi.org/10.1109/MITP.2024.3466512
Chorfi, A., Hedjazi, D., Aouag, S., & Boubiche, D. (2011). Problem-based collaborative learning groupware to improve computer programming skills. Behaviour and Information Technology, 0(0), 1–20. https://doi.org/10.1080/0144929X.2020.1795263
Chunhui, W., Zhiguo, L., & Dongsheng, L. (2013). Preventing and detecting plagiarism in programming course. International Journal of Security and Its Applications, 7(5), 269–278. https://doi.org/10.14257/ijsia.2013.7.5.25
Cubillos, C., Mellado, R., Cabrera-Paniagua, D., & Urra, E. (2025). Generative Artificial Intelligence in Computer Programming: Does It Enhance Learning, Motivation, and the Learning Environment? IEEE Access, 13, 40438–40455. https://doi.org/10.1109/ACCESS.2025.3532883
Da Silva, C. A. G., Ramos, F., De Moraes, R., & Santos, E. L. Dos. (2024). ChatGPT: Challenges and Benefits in Software Programming for Higher Education. Sustainability. https://doi.org/10.3390/su16031245
Eteng, I., Akpotuzor, S., Akinola, S., & Agbonlahor, I. (2022). A Review on Effective Approach to Teaching Computer Programming to Undergraduates in Developing Countries. Scientific African. https://doi.org/10.1016/j.sciaf.2022.e01240
Fuse, I., & Noguchi, T. (2026). Effectiveness of Tool Use in Robot-Based Programming Education for Courses with Learners of Varying Knowledge Levels. Journal of Robotics and Mechatronics, 38(1), 276–287. https://doi.org/10.20965/jrm.2026.p0276
Gao, Z., Yan, H., Huang, Y., Zhang, X., Saqr, M., Sun, X., & Feng, J. (2026). A complex system approach to decode different learning patterns in programming between majors: score, engagement, and problem-solving efficiency. Smart Learning Environments, 13(1). https://doi.org/10.1186/s40561-026-00431-7
Gökoğlu, S., & Kilic, S. (2023). Programming learning and teaching of pre-service computer science teachers: Challenges, concerns, and solutions. E-Learning and Digital Media, 20(5), 498–518. https://doi.org/10.1177/20427530221117331
Groothuijsen, S., van den Beemt, A., Remmers, J. C., & van Meeuwen, L. W. (2024). AI chatbots in programming education: Students’ use in a scientific computing course and consequences for learning. Computers and Education: Artificial Intelligence, 7. https://doi.org/10.1016/j.caeai.2024.100290
Hainey, T., & Baxter, G. (2024). A Serious game for programming in higher education. Computers and Education: X Reality, 4. https://doi.org/10.1016/j.cexr.2024.100061
Hameer, A., & Pientka, B. (2019). Teaching the art of functional programming using automated grading (experience report). Proceedings of the ACM on Programming Languages, 3(ICFP). https://doi.org/10.1145/3341719
Hsueh, N.-L., Daramsenge, B., & Lai, L.-C. (2022). EXPLORING THE INFLUENCE OF STUDENTS’ MODES OF BEHAVIORAL ENGAGEMENT IN AN ONLINE PROGRAMMING COURSE USING THE PARTIAL LEAST SQUARES STRUCTURAL EQUATION MODELING APPROACH. Journal of Information Technology Education: Research, 21, 403–423. https://doi.org/10.28945/5010
Huang, Y., Brusilovsky, P., Guerra, J., Koedinger, K., & Schunn, C. (2023). Supporting skill integration in an intelligent tutoring system for code tracing. Journal of Computer Assisted Learning, 39(2), 477–500. https://doi.org/10.1111/jcal.12757
Huang, Y., Schunn, C. D., Guerra, J., & Brusilovsky, P. (2024). Why Students Cannot Easily Integrate Component Skills: An Investigation of the Composition Effect in Programming. ACM Transactions on Computing Education, 24(3). https://doi.org/10.1145/3673239
Humble, N., Boustedt, J., Holmgren, H., Milutinovic, G., Seipel, S., & Östberg, A.-S. (2024). Cheaters or AI-Enhanced Learners: Consequences of ChatGPT for Programming Education. Electronic Journal of E-Learning, 22(2 Special Issue), 16–29. https://doi.org/10.34190/ejel.21.5.3154
Iio, J. (2024). An Evaluation of the Flipped Classroom Approach Toward Programming Education. Journal of Information Processing, 32, 159–165. https://doi.org/10.2197/ipsjjip.32.159
Jang, E.-S., & Oh, K.-S. (2026). Investigation of the Influence of Flipped Learning and Text-Based Generative Artificial Intelligence in Programming Education: Effectiveness and Pedagogical Strategies. Computer Applications in Engineering Education, 34(1). https://doi.org/10.1002/cae.70146
Kaila, E., Kurvinen, E., Lokkila, E., & Laakso, M.-J. (2016). Redesigning an object-oriented programming course. ACM Transactions on Computing Education, 16(4). https://doi.org/10.1145/2906362
Kalles, D. (2008). Students working for students on programming courses. Computers and Education, 50(1), 91–97. https://doi.org/10.1016/j.compedu.2006.03.003
Karnalim, O. (2026). Online Platform to Inform GenAI Misuse in Programming Through Code Differences. International Journal of Distance Education Technologies, 24(1). https://doi.org/10.4018/IJDET.397045
Kohen-Vacs, D., Usher, M., & Jansen, M. (2025). Integrating Generative AI into Programming Education: Student Perceptions and the Challenge of Correcting AI Errors. International Journal of Artificial Intelligence in Education. https://doi.org/10.1007/s40593-025-00496-4
Kölling, M. (2010). The greenfoot programming environment. ACM Transactions on Computing Education, 10(4). https://doi.org/10.1145/1868358.1868361
Kölling, M. (2016). Educational programming on the Raspberry Pi. Electronics (Switzerland), 5(3). https://doi.org/10.3390/electronics5030033
Kong, S.-C., & Wang, Y.-Q. (2019). Positive youth development from a “3Cs” programming perspective: a multi-study investigation in the university. Computer Science Education, 29(4), 335–356. https://doi.org/10.1080/08993408.2019.1599646
Kurhila, J., & Vihavainen, A. (2015). A purposeful MOOC to alleviate insufficient cs education in Finnish schools. ACM Transactions on Computing Education, 15(2). https://doi.org/10.1145/2716314
Lee, H.-J., & Yi, H. (2021). Development of an onboard robotic platform for embedded programming education. Sensors, 21(11). https://doi.org/10.3390/s21113916
Lepp, M., & Kaimre, J. (2025). Does generative AI help in learning programming: Students’ perceptions, reported use and relation to performance. Computers in Human Behavior Reports, 18. https://doi.org/10.1016/j.chbr.2025.100642
Mackin, K. J. (2019). Turtle graphics for early Java programming education. Artificial Life and Robotics, 24(3), 345–351. https://doi.org/10.1007/s10015-019-00528-y
Mai, T. T., Bezbradica, M., & Crane, M. (2022). Learning behaviours data in programming education: Community analysis and outcome prediction with cleaned data. Future Generation Computer Systems, 127, 42–55. https://doi.org/10.1016/j.future.2021.08.026
Malkoc, S., Steinmaurer, A., Gütl, C., Luttenberger, S., & Paechter, M. (2024). Coding Decoded: Exploring Course Achievement and Gender Disparities in an Online Flipped Classroom Programming Course. Education Sciences, 14(6). https://doi.org/10.3390/educsci14060634
Malmi, L., López‑Pernas, S., Nguyen, H., Apiola, M., & Saqr, M. (2025). Topical Analysis of Programming Education Research Literature. ACM Transactions on Computing Education, 26, 1–47. https://doi.org/10.1145/3767734
Marco-Galindo, M.-J., Minguillón, J., García-Solórzano, D., & Sancho-Vinuesa, T. (2025). Intervention for Students Repeating a CS1 Online Course: Analyzing Their Performance, Behavior, and Perceptions. ACM Transactions on Computing Education, 25(3). https://doi.org/10.1145/3743685
Masegosa, A. R., Cabañas, R., Maldonado, A. D., & Morales, M. (2024). Learning Styles Impact Students’ Perceptions on Active Learning Methodologies: A Case Study on the Use of Live Coding and Short Programming Exercises. Education Sciences, 14(3). https://doi.org/10.3390/educsci14030250
Medeiros, R. P., Ramalho, G. L., & Falcao, T. P. (2019). A Systematic Literature Review on Teaching and Learning Introductory Programming in Higher Education. IEEE Transactions on Education, 62(2), 77–90. https://doi.org/10.1109/TE.2018.2864133
Mellado, R., Cubillos, C., Vicari, R. M., & Gasca-Hurtado, G. (2024). Leveraging Gamification in ICT Education: Examining Gender Differences and Learning Outcomes in Programming Courses. Applied Sciences (Switzerland), 14(17). https://doi.org/10.3390/app14177933
Moosaei, R., & Molinero, G. (2025). Pedagogical Framework for Programming Courses in Higher Education. 2025 IEEE Global Engineering Education Conference (EDUCON), 1–5. https://doi.org/10.1109/educon62633.2025.11016289
Mozelius, P., Tomos, F., Shabalina, O., Miller, C., Malliarakis, C., Balan, O. C., & Chickerur, S. (2016). Game-based technologies in teaching programming in higher education: Theory and practices. Recent Patents on Computer Science, 9(2), 105–113. https://doi.org/10.2174/2213275908666151030212745
Murphy, E., Crick, T., & Davenport, J. H. (2017). An Analysis of Introductory Programming Courses at UK Universities. Art, Science, and Engineering of Programming, 1(2). https://doi.org/10.22152/programming-journal.org/2017/1/18
Nakada, T., & Miura, M. (2024). Extracting typing game keystroke patterns as potential indicators of programming aptitude. Frontiers in Computer Science, 6. https://doi.org/10.3389/fcomp.2024.1412458
Nakajima, H., Takahashi, N., & Hosokawa, Y. (2007). A QA cycle for teaching programming. A mechanism for automatically posing questions corresponding to learner’s skill. Systems and Computers in Japan, 38(1), 28–40. https://doi.org/10.1002/scj.20471
Nawahdah, M., Sawalha, H., & Jabara, H. (2026). Enhancing programming education with emotion-aware chatbot interfaces: a Wizard-of-Oz study among Arabic-speaking university students. International Journal of Educational Technology in Higher Education, 23(1). https://doi.org/10.1186/s41239-026-00600-1
Ochi, T., & Tateno, K. (2024). Comparing Efficacy of Online Real-time Classes with On-demand Viewing Classes. Journal of Information Processing, 32, 133–138. https://doi.org/10.2197/ipsjjip.32.133
Oka, H., Ohnishi, A., Nishida, T., Terada, T., & Tsukamoto, M. (2024). A Choice-Based Programming Learning Method to Develop Problem-Solving Skills. IEEE Access, 12, 119550–119562. https://doi.org/10.1109/ACCESS.2024.3443879
Olsson, M., Mozelius, P., & Collin, J. (2015). Visualisation and gamification of e-Learning and programming education. Electronic Journal of E-Learning, 13(6), 441–454. https://www.scopus.com/pages/publications/84957593353?origin=resultslist
Ouyang, F., Guo, M., Zhang, N., Bai, X., & Jiao, P. (2024). Comparing the Effects of Instructor Manual Feedback and ChatGPT Intelligent Feedback on Collaborative Programming in China’s Higher Education. IEEE Transactions on Learning Technologies, 17, 2227–2239. https://doi.org/10.1109/TLT.2024.3486749
Oyelere, S. S., & Aruleba, K. (2025). A comparative study of student perceptions on generative AI in programming education across Sub-Saharan Africa. Computers and Education Open, 8. https://doi.org/10.1016/j.caeo.2025.100245
Pan, Y., & Harun, J. (2025). Conquering Coding Fears: A Systematic Review of Programming Anxiety in Higher Education. J. Inf. Technol. Educ. Res., 24, 20. https://doi.org/10.28945/5543
Pešić, Đ., Vujošević Janičić, M., Mišić, M., & Protić, J. (2026). Assessing the effectiveness of large language models for generating and estimating time complexity of code segments. PeerJ Computer Science, 12. https://doi.org/10.7717/peerj-cs.3946
Qu, Y., Li, F., Dou, X., Feng, C., & Li, B. (2025). Research on Object-Oriented Programming Teaching Evaluation Method Based on Few-Shot Prompt Learning. Journal of Internet Technology, 26(7), 893–900. https://doi.org/10.70003/160792642025122607005
Rolland Sobral, S. (2021). Strategies on Teaching Introducing to Programming in Higher Education. 133–150. https://doi.org/10.1007/978-3-030-72660-7_14
Romero, M., Lepage, A., & Lille, B. (2017). Computational thinking development through creative programming in higher education. International Journal of Educational Technology in Higher Education, 14(1). https://doi.org/10.1186/s41239-017-0080-z
Rovshenov, A., & 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. https://doi.org/10.31681/jetol.1201010
Sarmento, G., & Reis, M. J. C. S. (2026). The Pedagogical Role of Source Code Comments in Programming Education: A Qualitative Systematic Review with Layered Evidence. Informatics in Education, 25(2), 167–203. https://doi.org/10.15388/infedu.2603.031
Strickroth, S., & Azaiz, I. (2026). Qualitative analysis of peer reviews of a large introductory programming course. Computer Science Education, 36(2), 354–374. https://doi.org/10.1080/08993408.2025.2450587
Takaoka, E., Yonezu, T., & Namekawa, T. (2015). Programming education at high schools and universities: Design, development, and assessment. IPSJ Online Transactions, 8(2015), 1–8. https://doi.org/10.2197/ipsjtrans.8.1
Taniguchi, Y., Minematsu, T., Okubo, F., & Shimada, A. (2022). Visualizing Source-Code Evolution for Understanding Class-Wide Programming Processes. Sustainability (Switzerland), 14(13). https://doi.org/10.3390/su14138084
Tassuov, B., Nadyrbekova, A., Ibragimova, K., Taszhurekova, Z., Niyetbayeva, N., Abzhapparova, A., & Aidaraliyeva, Z. (2026). Educational games as a tool for teaching programming in digital extracurricular computer science education. Frontiers in Computer Science, 8. https://doi.org/10.3389/fcomp.2026.1766830
Teramoto, T., Onishi, A., Koshii, S., & Kawata, S. (2012). A programming e-learning system in education-support PSE: TSUNA-TASTE. Advances in Information Sciences and Service Sciences, 4(14), 33–45. https://doi.org/10.4156/AISS.vol4.issue14.5
Tikva, C., & Tambouris, E. (2021). A systematic mapping study on teaching and learning Computational Thinking through programming in higher education. Thinking Skills and Creativity, 41. https://doi.org/10.1016/j.tsc.2021.100849
Tseng, C.-H., Lin, H.-C. K., Huang, A. C.-W., & Lin, J.-R. (2025). Investigating the effects of PuppyCodeReview, an AI-based code review system, on students’ cognitive load. SoftwareX, 31. https://doi.org/10.1016/j.softx.2025.102283
Ueno, H. (2000). A generalized knowledge-based approach to comprehend pascal and c programs. IEICE Transactions on Information and Systems, E83-D(4), 591–598. https://www.scopus.com/pages/publications/0033687336?origin=resultslist
Villagómez-Palacios, Á., Fuente-Burdiles, C. D. L., & Vidal-Silva, C. (2026). Videogame Programming & Education: Enhancing Programming Skills Through Unity Visual Scripting. Computers, 15(1). https://doi.org/10.3390/computers15010068
Vinueza-Morales, M., Rodas-Silva, J., & Vidal-Silva, C. (2025). Teaching Programming in Higher Education: Analyzing Trends, Technologies, and Pedagogical Approaches Through a Bibliometric Lens. International Journal of Advanced Computer Science and Applications. https://doi.org/10.14569/ijacsa.2025.0160106
Vinueza-Morales, M., Rodas-Silva, J., Vidal-Silva, C., Córdova-Morán, J., & Cevallos-Ayón, E. (2025). Teaching programming in higher education: a bibliometric analysis of trends, technologies, and pedagogical approaches. Frontiers in Education. https://doi.org/10.3389/feduc.2025.1525917
Wang, D., Dong, X., Fang, Z., Wang, L. Y. K., & Jin, Z. (2025). AI in the Classroom: GPT Usage and Learner Typologies in Programming. Education Sciences, 15(10). https://doi.org/10.3390/educsci15101353
Xia, B. S. (2017). An In-Depth Analysis of Teaching Themes and the Quality of Teaching in Higher Education: Evidence from the Programming Education Environments. The International Journal of Teaching and Learning in Higher Education, 29, 245–254. https://consensus.app/papers/an-indepth-analysis-of-teaching-themes-and-the-quality-of-xia/e1f9eaec8cec5ccab4d02ab85540c981/
Yazaki, S., Tsuchiya, H., & Ishihata, H. (2018). Development of a web-based front-end environment to aid programming lectures on unix-like systems. Journal of Information Processing, 26, 376–385. https://doi.org/10.2197/ipsjjip.26.376
Yilmaz, R., & Karaoglan Yilmaz, F. G. (2023). The effect of generative artificial intelligence (AI)-based tool use on students’ computational thinking skills, programming self-efficacy and motivation. Computers and Education: Artificial Intelligence, 4. https://doi.org/10.1016/j.caeai.2023.100147
Yoshimura, R., Sakamoto, K., Washizaki, H., & Fukazawa, Y. (2022). WOJR: A Recommendation System for Providing Similar Problems to Programming Assignments. Applied System Innovation, 5(3). https://doi.org/10.3390/asi5030053
Zhu, M., & Zhang, K. (2025). Artificial Intelligence for Computer Science Education in Higher Education: A Systematic Review of Empirical Research Published in 2003–2023. Technology, Knowledge and Learning, 30(4), 2417–2441. https://doi.org/10.1007/s10758-025-09859-1
