{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,31]],"date-time":"2026-03-31T04:35:22Z","timestamp":1774931722700,"version":"3.50.1"},"reference-count":42,"publisher":"MDPI AG","issue":"9","license":[{"start":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T00:00:00Z","timestamp":1725494400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Computers"],"abstract":"<jats:p>The importance of accurately predicting student performance in education, especially in the challenging curricular unit of Introductory Programming, cannot be overstated. As institutions struggle with high failure rates and look for solutions to improve the learning experience, the need for effective prediction methods becomes critical. This study aims to conduct a systematic review of the literature on methods for predicting student performance in higher education, specifically in Introductory Programming, focusing on machine learning algorithms. Through this study, we not only present different applicable algorithms but also evaluate their performance, using identified metrics and considering the applicability in the educational context, specifically in higher education and in Introductory Programming. The results obtained through this study allowed us to identify trends in the literature, such as which machine learning algorithms were most applied in the context of predicting students\u2019 performance in Introductory Programming in higher education, as well as which evaluation metrics and datasets are usually used.<\/jats:p>","DOI":"10.3390\/computers13090219","type":"journal-article","created":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T04:15:11Z","timestamp":1725509711000},"page":"219","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":9,"title":["Predicting Student Performance in Introductory Programming Courses"],"prefix":"10.3390","volume":"13","author":[{"ORCID":"https:\/\/orcid.org\/0009-0003-0058-1386","authenticated-orcid":false,"given":"Jo\u00e3o P. J.","family":"Pires","sequence":"first","affiliation":[{"name":"Coimbra Institute of Engineering\u2014ISEC, Polytechnic University of Coimbra, Rua da Miseric\u00f3rdia, Lagar dos Corti\u00e7os, S. Martinho do Bispo, 3045-093 Coimbra, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8330-1903","authenticated-orcid":false,"given":"Fernanda","family":"Brito Correia","sequence":"additional","affiliation":[{"name":"Coimbra Institute of Engineering\u2014ISEC, Polytechnic University of Coimbra, Rua da Miseric\u00f3rdia, Lagar dos Corti\u00e7os, S. Martinho do Bispo, 3045-093 Coimbra, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8418-8095","authenticated-orcid":false,"given":"Anabela","family":"Gomes","sequence":"additional","affiliation":[{"name":"Coimbra Institute of Engineering\u2014ISEC, Polytechnic University of Coimbra, Rua da Miseric\u00f3rdia, Lagar dos Corti\u00e7os, S. Martinho do Bispo, 3045-093 Coimbra, Portugal"},{"name":"Centre for Informatics and Systems of the University of Coimbra, Polo II, Pinhal de Marrocos, 3030-290 Coimbra, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3167-8714","authenticated-orcid":false,"given":"Ana Rosa","family":"Borges","sequence":"additional","affiliation":[{"name":"Coimbra Institute of Engineering\u2014ISEC, Polytechnic University of Coimbra, Rua da Miseric\u00f3rdia, Lagar dos Corti\u00e7os, S. Martinho do Bispo, 3045-093 Coimbra, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9660-2011","authenticated-orcid":false,"given":"Jorge","family":"Bernardino","sequence":"additional","affiliation":[{"name":"Coimbra Institute of Engineering\u2014ISEC, Polytechnic University of Coimbra, Rua da Miseric\u00f3rdia, Lagar dos Corti\u00e7os, S. Martinho do Bispo, 3045-093 Coimbra, Portugal"},{"name":"Centre for Informatics and Systems of the University of Coimbra, Polo II, Pinhal de Marrocos, 3030-290 Coimbra, Portugal"}]}],"member":"1968","published-online":{"date-parts":[[2024,9,5]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Watson, C., and Li, F.W. (2014, January 21\u201325). Failure rates in introductory programming revisited. Proceedings of the 2014 Innovation and Technology in Computer Science Education Conference, Uppsala, Sweden.","DOI":"10.1145\/2591708.2591749"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"30","DOI":"10.1145\/3324888","article-title":"Failure rates in introductory programming","volume":"10","author":"Bennedsen","year":"2019","journal-title":"ACM Inroads"},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1145\/1151954.1067453","article-title":"A study of the difficulties of novice programmers\u201412 years later","volume":"37","author":"Lahtinen","year":"2005","journal-title":"ACM SIGCSE Bull."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3077618","article-title":"Students\u2019 misconceptions and other difficulties in introductory programming","volume":"18","author":"Qian","year":"2017","journal-title":"ACM Trans. Comput. Educ."},{"key":"ref_5","unstructured":"Gomes, A., and Mendes, A.J.N. (2007, January 3\u20137). Learning to program-difficulties and solutions. Proceedings of the International Conference on Engineering Education\u2014ICEE 2007, Coimbra, Portugal."},{"key":"ref_6","unstructured":"Jenkins, T. (2002, January 27\u201329). On The Difficulty of Learning To Program. Proceedings of the 3rd Annual LTSN-ICS Conference, Loughborough University, Loughborough, UK."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"39","DOI":"10.1145\/1138403.1138430","article-title":"Abstraction ability as an indicator of success for learning object-oriented programming?","volume":"38","author":"Bennedsen","year":"2006","journal-title":"ACM SIGCSE Bull."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"49","DOI":"10.1145\/507758.377467","article-title":"The effect of student attributes on success in programming","volume":"33","author":"Byrne","year":"2001","journal-title":"ACM SIGCSE Bull."},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Luxton-Reilly, A., Albluwi, I., Becker, B.A., Giannakos, M., Kumar, A.N., Ott, L., Paterson, J., Scott, M.J., and Sheard, J. (2018, January 2\u20134). Introductory programming: A systematic literature review. Proceedings of the ITiCSE \u203218: 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education, Larnaca, Cyprus.","DOI":"10.1145\/3293881.3295779"},{"key":"ref_10","unstructured":"Gomes, A., and Mendes, A. (2008, January 30). A study on student\u2019s characteristics and programming learning. Proceedings of the ED-MEDIA 2008\u2014World Conference on Educational Multimedia, Hypermedia & Telecommunications, Vienna, Austria."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Gomes, A., and Mendes, A. (2014, January 22\u201325). A teacher\u2019s view about introductory programming teaching and learning: Difficulties, strategies and motivations. Proceedings of the 2014 IEEE Frontiers in Education Conference (FIE), Madrid, Spain.","DOI":"10.1109\/FIE.2014.7044086"},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Tomai, E., and Reilly, C.F. (2014, January 5\u20138). The impact of math preparedness on introductory programming (CS1) success (abstract only). Proceedings of the SIGCSE \u203214: The 45th ACM Technical Symposium on Computer Science Education, Atlanta, GA, USA.","DOI":"10.1145\/2538862.2544292"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Lishinski, A., Yadav, A., Enbody, R., and Good, J. (2016, January 2\u20135). The influence of problem solving abilities on students\u2019 performance on different assessment tasks in CS1. Proceedings of the SIGCSE \u203216: The 47th ACM Technical Symposium on Computing Science Education, Memphis, TN, USA.","DOI":"10.1145\/2839509.2844596"},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Jokhan, A., Chand, A.A., Singh, V., and Mamun, K.A. (2022). Increased Digital Resource Consumption in Higher Educational Institutions and the Artificial Intelligence Role in Informing Decisions Related to Student Performance. Sustainability, 14.","DOI":"10.3390\/su14042377"},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Sobral, S.R. (2021). Strategies on Teaching Introducing to Programming in Higher Education. Advances in Intelligent Systems and Computing, Springer.","DOI":"10.1007\/978-3-030-72660-7_14"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Queiroz, R. (2015). Computer Science Education Research\u2014An overview and some proposals. Innovative Teaching Strategies and New Learning Paradigms in Computer Programming, IGI-Global.","DOI":"10.4018\/978-1-4666-7304-5"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"K\u00f6hler, J., Hidalgo, L., and Jara, J.L. (2023). Predicting Students\u2019 Outcome in an Introductory Programming Course: Leveraging the Student Background. Appl. Sci., 13.","DOI":"10.3390\/app132111994"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Liu, Y., Fan, S., Xu, S., Sajjanhar, A., Yeom, S., and Wei, Y. (2023). Predicting Student Performance Using Clickstream Data and Machine Learning. Educ. Sci., 13.","DOI":"10.3390\/educsci13010017"},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"254","DOI":"10.1080\/08993408.2019.1612679","article-title":"CS1: How will they do? How can we help? A decade of research and practice","volume":"29","author":"Quille","year":"2019","journal-title":"Comput. Sci. Educ."},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"414","DOI":"10.1016\/j.procs.2015.12.157","article-title":"A Review on Predicting Student\u2019s Performance Using Data Mining Techniques","volume":"72","author":"Shahiri","year":"2015","journal-title":"Procedia Comput. Sci."},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Alhothali, A., Albsisi, M., Assalahi, H., and Aldosemani, T. (2022). Predicting Student Outcomes in Online Courses Using Machine Learning Techniques: A Review. Sustainability, 14.","DOI":"10.3390\/su14106199"},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Silva, C., and Fonseca, J. (2017). Educational data mining: A literature review. Advances in Intelligent Systems and Computing, Springer.","DOI":"10.1007\/978-3-319-46568-5_9"},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"012022","DOI":"10.1088\/1742-6596\/1950\/1\/012022","article-title":"Educational Data Mining: A Review","volume":"1950","author":"Bachhal","year":"2021","journal-title":"J. Physics Conf. Ser."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"764","DOI":"10.1037\/edu0000314","article-title":"The cognitive benefits of learning computer programming: A meta-analysis of transfer effects","volume":"111","author":"Scherer","year":"2019","journal-title":"J. Educ. Psychol."},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Sobral, S., and Oliveira, C. (2021, January 8\u20139). Predicting Students\u2019 Performance in Introductory Programming Courses: A Literature Review. Proceedings of the 15th International Technology, Education and Development Conference, Online.","DOI":"10.21125\/inted.2021.1485"},{"key":"ref_26","unstructured":"Kitchenham, B. (2004). Procedures for Performing Systematic Reviews, National ICT Australia."},{"key":"ref_27","unstructured":"Silva, M., Shaffer, E.G., Nytko, N., and Amos, J.R. (, January June). A case study of early performance prediction and intervention in a computer science course. Proceedings of the ASEE Annual Conference and Exposition, Conference Proceedings, Virtual Online."},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"1","DOI":"10.31449\/inf.v45i6.3528","article-title":"Early prediction for at-risk students in an introductory programming course based on student self-efficacy","volume":"45","author":"Jamjoom","year":"2021","journal-title":"Informatica"},{"key":"ref_29","first-page":"1","article-title":"Machine Learning Algorithms to Predict Students\u2019 Programming Performance: A comparative Study","volume":"24","author":"Sivasakthi","year":"2022","journal-title":"J. Univ. Shanghai Sci. Technol."},{"key":"ref_30","doi-asserted-by":"crossref","unstructured":"Ahadi, A., Lister, R., Haapala, H., and Vihavainen, A. (2015, January 9\u201313). Exploring machine learning methods to automatically identify students in need of assistance. Proceedings of the ICER \u203215: International Computing Education Research Conference, Omaha, NE, USA.","DOI":"10.1145\/2787622.2787717"},{"key":"ref_31","first-page":"1","article-title":"Machine learning model for early detection of higher education students that need additional attention in introductory programming courses","volume":"1","author":"Krajcar","year":"2016","journal-title":"Int. J. Digit. Technol. Econ."},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"Khan, I., Al Sadiri, A., Ahmad, A.R., and Jabeur, N. (2019, January 15\u201316). Tracking student performance in introductory programming by means of machine learning. Proceedings of the 2019 4th MEC International Conference on Big Data and Smart City (ICBDSC), Muscat, Oman.","DOI":"10.1109\/ICBDSC.2019.8645608"},{"key":"ref_33","unstructured":"Veerasamy, A.K., D\u2019Souza, D., Apiola, M.-V., Laakso, M.-J., and Salakoski, T. (2020, January 21\u201324). Using early assessment performance as early warning signs to identify at-risk students in programming courses. Proceedings of the 2020 IEEE Frontiers in Education Conference (FIE), Uppsala, Sweden."},{"key":"ref_34","first-page":"407","article-title":"Using Machine Learning to Identify At-risk Students in an Introductory Programming Course at a Two-year Public College","volume":"2","author":"Cooper","year":"2022","journal-title":"Adv. Artif. Intell. Mach. Learn."},{"key":"ref_35","doi-asserted-by":"crossref","first-page":"725","DOI":"10.1007\/s10639-022-11146-w","article-title":"The prediction of programming performance using student profiles","volume":"28","author":"Shen","year":"2023","journal-title":"Educ. Inf. Technol."},{"key":"ref_36","doi-asserted-by":"crossref","first-page":"127","DOI":"10.3991\/ijet.v15i02.11527","article-title":"Analyzing student performance in programming education using classification techniques","volume":"15","author":"Sunday","year":"2020","journal-title":"Int. J. Emerg. Technol. Learn. (iJET)"},{"key":"ref_37","doi-asserted-by":"crossref","unstructured":"Sivasakthi, M. (2017, January 23\u201324). Classification and prediction based data mining algorithms to predict students\u2019 introductory programming performance. Proceedings of the 2017 International Conference on Inventive Computing and Informatics (ICICI), Coimbatore, India.","DOI":"10.1109\/ICICI.2017.8365371"},{"key":"ref_38","doi-asserted-by":"crossref","first-page":"499","DOI":"10.1007\/s44150-021-00015-8","article-title":"Error Metrics and Performance Fitness Indicators for Artificial Intelligence and Machine Learning in Engineering and Sciences","volume":"3","author":"Naser","year":"2021","journal-title":"Arch. Struct. Constr."},{"key":"ref_39","unstructured":"Sessions, V., and Valtorta, M. (2006, January 10\u201312). The effects of data quality on machine learning algorithms. Proceedings of the 2006 International Conference on Information Quality, ICIQ 2006, Cambridge, MA, USA."},{"key":"ref_40","doi-asserted-by":"crossref","unstructured":"Realinho, V., Machado, J., Baptista, L., and Martins, M.V. (2022). Predicting Student Dropout and Academic Success. Data, 7.","DOI":"10.3390\/data7110146"},{"key":"ref_41","unstructured":"Sala, R., Zambetti, M., Pirola, F., and Pinto, R. (2018, January 12\u201314). How to select a suitable machine learning algorithm: A feature-based, scope-oriented selection framework. Proceedings of the Summer School \u201cFrancesco Turco\u201d, Palermo, Italy."},{"key":"ref_42","doi-asserted-by":"crossref","first-page":"20","DOI":"10.4018\/IJMCMC.2014100102","article-title":"A Strategy on Selecting Performance Metrics for Classifier Evaluation","volume":"6","author":"Liu","year":"2014","journal-title":"Int. J. Mob. Comput. Multimedia Commun."}],"container-title":["Computers"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-431X\/13\/9\/219\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T15:48:58Z","timestamp":1760111338000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-431X\/13\/9\/219"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,9,5]]},"references-count":42,"journal-issue":{"issue":"9","published-online":{"date-parts":[[2024,9]]}},"alternative-id":["computers13090219"],"URL":"https:\/\/doi.org\/10.3390\/computers13090219","relation":{},"ISSN":["2073-431X"],"issn-type":[{"value":"2073-431X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,9,5]]}}}