IJEME Vol. 16, No. 1, 8 Feb. 2026
Cover page and Table of Contents: PDF (size: 828KB)
PDF (828KB), PP.34-62
Views: 0 Downloads: 0
Programming Language Design, Teaching Method, Grade Analysis, Programming Logic, Students’ Performance, Sandwich Educational System (SES), Academic Performance, Teaching Methods, Ghana, Mixed-Methods Research, Quasi-Experiment, Randomised Controlled Trial
This study investigates the performance of students enrolled in programming courses offered under the Sandwich Educational System (SES) in Ghanaian universities and colleges. SES is a unique educational approach that combines academic studies with practical work experience. This study examines various teaching models employed within the SES for programming education to identify any significant relationship between teaching methods and student academic performance. The target population for this study comprised students enrolled in computing education-related programs within the SES, with a specific focus on those undertaking programming courses. A single study group of students pursuing the Bachelor of Education programme in Information Technology (B.Ed. IT) under the sandwich mode at University X was selected to ensure efficient research management in this study. Employing a mixed-methods research design, quantitative and qualitative data were collected and analysed using descriptive and inferential statistics. A survey was administered to 218 of the 357 students in the study group during the designated survey period. Additionally, a seven-year longitudinal quasi-experiment involving five different year groups in the B.Ed IT sandwich programme at University X was conducted to examine the relationship between student performance and teaching methods within SES. The findings of this study do not demonstrate a significant difference in academic performance among students taught using different teaching methods in SES. However, it is crucial to acknowledge the study's limitations, which necessitate considering the findings as insightful observations rather than as conclusive results. This study recommends enhancing students' prior exposure to programming and adopting innovative teaching methods to improve their academic performance. Future research should address the limitations of this study by utilising a more rigorous experimental design, such as a randomised controlled trial, and exploring additional factors that may influence student performance within the SES. Such endeavours would enable more robust causal inferences to be drawn.
Kofi Sarpong Adu-Manu, Charles Adjetey, John Kingsley Arthur, "Exploring the Performance of Students in Programming Courses: A Study of Ghana’s Sandwich Computing Education", International Journal of Education and Management Engineering (IJEME), Vol.16, No.1, pp. 34-62, 2026. DOI:10.5815/ijeme.2026.01.03
[1]Bennedsen, J., & Caspersen, M. E. (2007). Failure rates in introductory programming. ACM SIGCSE Bulletin, 39 (2), 32–36.
[2]Yunlong Lu, Na Meng, Wenxin Li. 2021. FAPR: Fast and Accurate Program Repair for Introductory Programming Courses. arXiv preprint arXiv:2107.06550 [cs.SE].
[3]Hawi, N. (2010). Causal attributions of success and failure made by undergraduate students in an introductory-level computer programming course. Computers & Education, 54 (4), 1127–1136.
[4]José A. Q. Figueiredo and Francisco José García-Peñalvo. 2021. Teaching and Learning Strategies for Introductory Programming in University Courses. In Ninth International Conference on Technological Ecosystems for Enhancing Multiculturality (TEEM’21) (TEEM’21), October 26–29, 2021, Barcelona, Spain. DOI: https://doi.org/10.1145/3486011.3486540.
[5]Lahtinen, E., Ala-Mutka, K., & J¨arvinen, H.-M. (2005). A study of the difficulties of novice programmers. In Acm sigcse bulletin (Vol. 37, pp. 14–18).
[6]Horton, D., Craig, M., Campbell, J., Gries, P., & Zingaro, D. (2014). Comparing outcomes in inverted and traditional cs1. In Proceedings of the 2014 conference on innovation & technology in computer science education (pp. 261–266).
[7]Bennedsen, J. (2008). Teaching and learning introductory programming: a model-based approach.
[8]Bosch, N., & D’Mello, S. (2013). Sequential patterns of affective states of novice programmers. In The first workshop on ai-supported education for computer science (aiedcs 2013) (pp. 1–10).
[9]Esteves, M., Fonseca, B., Morgado, L., & Martins, P. (2011). Improving teaching and learning of computer programming through the use of the second life virtual world. British Journal of Educational Technology, 42 (4), 624–637.
[10]Sarpong, K. A.-M., Arthur, J. K., & Amoako, P. Y. O. (2013). Causes of failure of students in computer programming courses: The teacher-learner perspective. International Journal of Computer Applications, 77 (12).
[11]Chibaya, C. (2019). A metaphor-based approach for introducing programming concepts. In 2019 international multidisciplinary information technology and engineering conference (imitec) (pp. 1–8).
[12]Dasuki, S., & Quaye, A. (2016). Undergraduate students? failure in programming courses in institutions of higher education in developing countries: A nigerian perspective. The Electronic Journal of Information Systems in Developing Countries, 76 (1), 1–18.
[13]Lishinski, A., Yadav, A., Enbody, R., & Good, J. (2016). The influence of problem solving abilities on students’ performance on different assessment tasks in cs1. In Proceedings of the 47th acm technical symposium on computing science education (pp. 329–334).
[14]Lishinski, A., Yadav, A., Good, J., & Enbody, R. (2016). Learning to program: Gender differences and interactive effects of students’ motivation, goals, and self-efficacy on performance. In Proceedings of the 2016 acm conference on international computing education research (pp. 211–220).
[15]Rafique, W., Dou, W., Hussain, K., & Ahmed, K. (2020). Factors influencing programming expertise in a web-based e-learning paradigm. Online Learning, 24 (1).
[16]Kori, K., Pedaste, M., Leijen, A., & T˜onisson, E. (2016). The role of programming experience ¨ in ict students’ learning motivation and academic achievement. International Journal of Information and Education Technology, 6 (5), 331.
[17]Bennedsen, J., & Caspersen, M. E. (2019). Failure rates in introductory programming: 12 years later. ACM Inroads, 10 (2), 30–36.
[18]Watson, C., & Li, F. W. (2014). Failure rates in introductory programming revisited. In Proceedings of the 2014 conference on innovation & technology in computer science education (pp. 39–44).
[19]Mustapha, A., Samsudin, N. A., Arbaiy, N., Mohammed, R., & Hamid, I. R. (2016). Generic assessment rubrics for computer programming courses. Turkish Online Journal of Educational Technology-TOJET, 15 (1), 53–68.
[20]Jakchaikul, V., & Kansrirat, T. (2015). Teaching management to resolve student problems in computer programming.
[21]Watson, C., Li, F. W., & Godwin, J. L. (2013). Predicting performance in an introductory programming course by logging and analyzing student programming behavior. In Advanced learning technologies (icalt), 2013 ieee 13th international conference on (pp. 319–323).
[22]Razakhovich, S. S., & Razakhovna, S. B. (2020). Development of students’ programming abilities with the means of non-programming disciplines and activities. In Handbook of research on diverse teaching strategies for the technology-rich classroom (pp. 89–97). IGI Global.
[23]Martins, V. F., de Almeida Souza Concilio, I., & de Paiva Guimar˜aes, M. (2018). Problem based learning associated to the development of games for programming teaching. Computer Applications in Engineering Education, 26 (5), 1577–1589.
[24]Matthew, F. T., Adepoju, A. I., Ayodele, O., Olumide, O., Olatayo, O., Adebimpe, E., . . . Funmilola, E. (2018). Development of mobile-interfaced machine learning-based predictive models for improving students? performance in programming courses. Development, 9 (5).
[25]Yildiz Durak, H. (2018). Digital story design activities used for teaching programming effect on learning of programming concepts, programming self-efficacy, and participation and analysis of student experiences. Journal of Computer Assisted Learning, 34 (6), 740– 752.
[26]Ismail, M. N., Ngah, N. A., & Umar, I. N. (2010). Instructional strategy in the teaching of computer programming: a need assessment analyses. TOJET: The Turkish Online Journal of Educational Technology, 9 (2).
[27]Kaplan, R. (2015). Using problem-based learning in a cs1 course-tales from the trenches. In Proceedings of the international conference on frontiers in education: Computer science and computer engineering (fecs) (p. 86).
[28]Baloyi, L. L., Ojo, S. O., & Van Wyk, E. A. (2017). Design and development of an interactive multimedia simulation for augmenting the teaching and learning of programming concepts. International Association for Development of the Information Society.
[29]Quaye, A. M., & Dasuki, S. I. (2017). A computational approach to learning programming using visual programming in a developing country university. In Emerging research, practice, and policy on computational thinking (pp. 121–134). Springer.
[30]Tritrakan, K., Kidrakarn, P., & Asanok, M. (2016). The use of engineering design concept for computer programming course: A model of blended learning environment. Educational Research and Reviews, 11 (18), 1757–1765.
[31]Chua, F. F., & Liew, K. L. (2016). A sns-integrated collaborative learning system to support programming language learning. Journal of Theoretical and Applied Information Technology, 88 (3), 456–463.
[32]Bati, T., Gelderblom, H., & van Biljon, J. (2015). Blended learning of programming in large classes: A reflection of student? experience from an ethiopian university. Transform2015. net.
[33]Alajmi, F., & Alkhatib, A. A. (2015). Enhanced teaching model (etm) for teaching programming languages. International Journal of Computer Applications, 121 (20).
[34]Vihavainen, A., Airaksinen, J., & Watson, C. (2014). A systematic review of approaches for teaching introductory programming and their influence on success. In Proceedings of the tenth annual conference on international computing education research (pp. 19–26).
[35]Butler, M., Morgan, M., et al. (2007). Learning challenges faced by novice programming students studying high level and low feedback concepts. Proceedings ascilite Singapore (99-107).
[36]Kasto, N. (2016). Learning to program: The development of knowledge in novice programmers (Unpublished doctoral dissertation). Auckland University of Technology.
[37]Mccall, D. (2016). Novice programmer errors-analysis and diagnostics (Unpublished doctoral dissertation). University of Kent.
[38]Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer science education, 13 (2), 137–172.
[39]Hoda, R., & Andreae, P. (2014). It’s not them, it’s us! why computer science fails to impress many first years. In Proceedings of the sixteenth australasian computing education conference-volume 148 (pp. 159–162).
[40]Jayaprakash, S., Balamurugan, E., & Chandar, V. (2015). Predicting students? academic performance using naïve bayes algorithm. In 8th annual international applied research conference.
[41]Shuhidan, S., Hamilton, M., & D’Souza, D. (2009). A taxonomic study of novice programming summative assessment. In Proceedings of the eleventh australasian conference on computing education-volume 95 (pp. 147–156).
[42]Cândida, L., Silva Carmo, M. J. M., & Mendes, A. J. (2007). The impact of learning styles in introductory programming learning.
[43]Seyal, A. H., Mey, Y. S., Matusin, M. H., Siau, N. H., & Rahman, A. A. (2015). Understanding students learning style and their performance in computer programming course: Evidence from bruneian technical institution of higher learning. International Journal of Computer Theory and Engineering, 7 (3), 241.
[44]Felder, R. M. (1996). Matters of style. ASEE prism, 6 (4), 18–23.
[45]McCracken, M., Almstrum, V., Diaz, D., Guzdial, M., Hagan, D., Kolikant, Y. B.-D., . . . Wilusz, T. (2001). A multi-national, multi-institutional study of assessment of programming skills of first-year cs students. ACM SIGCSE Bulletin, 33 (4), 125–18.
[46]Norwawi, N. M., Abdusalam, S. F., Hibadullah, C. F., & Shuaibu, B. M. (2009). Classification of students’ performance in computer programming course according to learning style. In Data mining and optimization, 2009. dmo’09. 2nd conference on (pp. 37–41).
[47]Çakıroğlu, Û. (2014). Analyzing the effect of learning styles and study habits of distance ¨ learners on learning performances: A case of an introductory programming course. The International Review of Research in Open and Distributed Learning, 15 (4).
[48]Porter, L., Guzdial, M., McDowell, C., & Simon, B. (2013). Success in introductory programming: What works? Communications of the ACM, 56 (8), 34–36.
[49]Sax, L. J., Lehman, K. J., Jacobs, J. A., Kanny, M. A., Lim, G., Monje-Paulson, L., & Zimmerman, H. B. (2017). Anatomy of an enduring gender gap: The evolution of womens participation in computer science. The Journal of Higher Education, 88 (2), 258-293. Retrieved from https://doi.org/10.1080/00221546.2016.1257306.
[50]Schindler, C., & Müller, M. (2019). Gender gap? a snapshot of a bachelor computer science course at graz university of technology. In Proceedings of the 13th european conference on software architecture-volume 2 (pp. 100–104).
[51]Mhashi, M. M., & Alakeel, A. (2013). Difficulties facing students in learning computer programming skills at tabuk university. In Proceedings of the 12th international conference on education and educational technology (edu?13), iwate, japan (pp. 15–24).
[52]Amoako, P. Y. O., Sarpong, K. A.-m., Arthur, J. K., & Adjetey, C. (2013). Performance of students in computer programming: Background, field of study and learning approach paradigm. International Journal of Computer Applications, 77 (12).