Difficulties and challenges in the learning process of algorithms and programming in higher education: a systematic literature review
Keywords:Programming learning; Systematic literature review; Algorithms; Challenges.
Learning to program is often a challenge for students: each student has their individual difficulties and teachers need to identify them in order to provide the necessary support to their students. In this sense, this article presents part of the results obtained in a Systematic Literature Review on the process of learning algorithms and programming. The main objective of the work presented here is to point out the main difficulties and challenges experienced by higher education students in Algorithms and Programming disciplines, as well as what these difficulties can bring to students along their academic path. The choice of the research method was because the Systematic Literature Review presents a type of study whose methodology is well defined, being able to evaluate the research in a careful, reliable and objective way. For this study, the review was conducted in four databases: Web of Science, Scopus, IEEE Xplore and RCAAP. For that, a review question was defined, the keywords, the necessary equation for the study, as well as the review protocol. Initially, 350 articles were found, of which 169 articles were pre-selected. After applying the inclusion and exclusion criteria, 33 articles were selected for the analysis and development of this work. With the analysis, we were able to verify and categorize the difficulties and challenges faced by students during the process of learning algorithms and programming. With the results presented, this article can contribute with an overview capable of serving as a starting point for other research, as well as to assist teachers and students in the perception of these difficulties.
Al-Imamy, S., Alizadeh, J., & A. Nour, M. (2006). On the Development of a Programming Teaching Tool: The Effect of Teaching by Templates on the Learning Process. Journal of Information Technology Education: Research, 5, 271-283.
Aparicio, J., & Costa, C. (2018). A virtual robot solution to support programming learning an open source approach. Iberian Conference on Information Systems and Technologies, CISTI. 2018-June, pp. 1-6. IEEE Computer Society.
Borges, R., Oliveira, P., Lima, R., & De Lima, R. (1 de 5 de 2018). A systematic review of literature on methodologies, practices, and tools for programming teaching. IEEE Latin America Transactions, 16(5), 1468-1475.
Bosse, Y., & Gerosa, M. (1 de 11 de 2017). Difficulties of Programming Learning from the Point of View of Students and Instructors. IEEE Latin America Transactions, 15(11), 2191-2199.
Castro, T. H., Fuks, H., Spósito, M. A., & Castro Júnior, A. N. (2008). The Analysis of a Case Study for Group Programming Learning. 8th IEEE International Conference on Advanced Learning Technologies (ICALT).
Castro, T., Robertson, D., Fuks, H., & Castro, A. (2011). Identifying the need to intervene: Analysis and representation of interaction patterns in group programming learning. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 6969 LNCS, pp. 158-174.
Chang, K.-E., Chiao, B.-C., Chen, S.-W., & Hsiao, R.-S. (2000). A Programming Learning System for Beginners-A Completion Strategy Approach.
Chiu, M. M. (2008). Flowing toward correct contributions during groups’ mathematics problem solving: a statistical discourse analysis. Journal of the Learning Sciences, 17(3), 415–463.
Chuchulashvili, M., Goziashvili, N., Pereira, M. J., & Lopes, R. P. (4 a 6 de Julho de 2016). Micro-atividades para a Aprendizagem de Programação. ESTILOS DE APRENDIZAGEM: EDUCAÇÃO, TECNOLOGIAS E INOVAÇÃO. VII Congresso Mundial de Estilos de Aprendizagem, pp. 1503-1514.
Costa, C., & Aparicio, M. (2014). Evaluating success of a programming learning tool. ACM International Conference Proceeding Series (pp. 73-78). Association for Computing Machinery.
Costa, J. (2019). Microworlds with different pedagogical approaches in introductory programming learning: Effects in programming knowledge and logical reasoning. Informatica (Slovenia), 43(1), 145-148.
De Castro, T., Fuks, H., Spósito, M., & De Castro, A. (2008). The analysis of a case study for group programming learning. Proceedings - The 8th IEEE International Conference on Advanced Learning Technologies, ICALT 2008, (pp. 850-854).
De Oliveira, T., & Reboucas, A. (2018). The use of pair programming to support introductory programming teaching: A qualitative study. Proceedings - 13th Latin American Conference on Learning Technologies, LACLO 2018 (pp. 65-68). Institute of Electrical and Electronics Engineers Inc.
EItegani, N., & Butgereit, L. (2015). Attributes of Students Engagement in Fundamental Programming Learning. International Conference on Computing, Control, Networking, Electronics and Embedded Systems Engineering, pp. 101-106.
Gomes, A., & Mendes, A. (2010). Studies and proposals about initial programming learning. Proceedings - Frontiers in Education Conference, FIE.
Gomes, A., & Mendes, A. (2015). A teacher's view about introductory programming teaching and learning: Difficulties, strategies and motivations. Proceedings - Frontiers in Education Conference, FIE. 2015-February. Institute of Electrical and Electronics Engineers Inc.
Ho, S., Chean, S., Chai, I., & Tan, C. (2019). Engineering Meaningful Computing Education: Programming Learning Experience Model. Proceedings of the 2019 IEEE IEEM, pp. 925-929.
Hwang, W., Shadiev, R., Wang, C., & Huang, Z. (5 de 2012). A pilot study of cooperative programming learning behavior and its relationship with students' learning performance. Computers and Education, 58(4), 1267-1281.
Institute of Electrical and Electronics Engineers. Macao Section, IEEE Technology and Engineering Management Society. Singapore Chapter, IEEE Technology and Engineering Management Society. Hong Kong Chapter, & Institute of Electrical and Electronics Engineers. (s.d.). IEEE IEEM2019 : 2019 IEEE International Conference on Industrial Engineering & Engineering Management : 15-18 Dec, Macau.
Junus, F. (2017). THE ROLE OF PERSONALIZED EDUCATION TOOLS IN COMPUTER PROGRAMMING LEARNING., (pp. 92-98).
Medeiros, R., Ramalho, G., & Falcao, T. (1 de 5 de 2019). A Systematic Literature Review on Teaching and Learning Introductory Programming in Higher Education. IEEE Transactions on Education, 62(2), 77-90.
Mendes, A., Paquete, L., Cardoso, A., & Gomes, A. (2012). Increasing student commitment in introductory programming learning. Proceedings - Frontiers in Education Conference, FIE.
Micael Souza, D., Helena da Silva Batista, M., & Francine Barbosa, E. (s.d.). Problemas e Dificuldades no Ensino e na Aprendizagem de Programação: Um Mapeamento Sistemático Problems and Weaknesses in the Teaching and Learning of Programming: A Mapping Review.
Nawahdah, M., Taji, D., & Inoue, T. (2016). Collaboration leads to success: A study of the effects of using pair-programming teaching technique on student performance in a Middle Eastern society. Proceedings of 2015 IEEE International Conference on Teaching, Assessment and Learning for Engineering, TALE 2015 (pp. 16-22). Institute of Electrical and Electronics Engineers Inc.
Oliveira, T. A., & Rebouças, A. D. (2018). The use of Pair Programming to Support Introductory Programming Teaching: A Qualitative Study. 2018 XIII Latin American Conference on Learning Technologies (LACLO), pp. 65-68.
Ortíz, O. O., Murillo, J. A., & Hernández, E. M. (2018). A Web Framework to Improve Computer Programming Learning. 2018 IEEE International Autumn Meeting on Power, Electronics and Computing (ROPEC 2018), Ixtapa, Mexico.
Paredes, Y., Huang, P., & Hsiao, I. (3 de 7 de 2019). Utilising behavioural analytics in a blended programming learning environment. New Review of Hypermedia and Multimedia, 25(3), 89-111.
Pereira, R., Costa, C., & Aparicio, J. (2017). Gamificação como Solução para os Problemas da Aprendizagem da Programação. Iberian Conference on Information Systems and Technologies, CISTI. IEEE Computer Society.
Piteira, M., Costa, C., & Aparício, M. (2017). A CONCEPTUAL FRAMEWORK TO IMPLEMENT GAMIFICATION ON ONLINE COURSES OF COMPUTER PROGRAMMING LEARNING: IMPLEMENTATION. ICERI2017 Proceedings. 1, pp. 7022-7031. IATED.
Piteira, M., Costa, C., & Aparicio, M. (7 de 4 de 2018). Computer Programming Learning: How to Apply Gamification on Online Courses? Journal of Information Systems Engineering & Management, 3(2).
Rezende, C., & Bispo, E. (2018). Comparison between pseudocode usage and visual programming with scratch in programming teaching. Proceedings - 13th Latin American Conference on Learning Technologies, LACLO 2018 (pp. 492-498). Institute of Electrical and Electronics Engineers Inc.
Saeed, R., Mokhtar, R., Jāmiʻat al-Nīlayn, IEEE Sudan Subsection, & Institute of Electrical and Electronics Engineers. (2015). 2015 International Conference on Computing, Control, Networking, Electronics and Embedded Systems Engineering (ICCNEEE) : 7th-9th September 2015, Khartoum, Sudan.
Santos, Á., Gomes, A., & Mendes, A. (6 de 2010). Integrating new technologies and existing tools to promote programming learning. Algorithms, 3(2), 183-196.
Santos, Á., Gomes, A., & Mendes, A. (2011). A class record and reviewing system designed to promote programming learning. Proceedings - Frontiers in Education Conference, FIE.
Santos, Á., Gomes, A., & Mendes, A. (2013). A taxonomy of exercises to support individual learning paths in initial programming learning. Proceedings - Frontiers in Education Conference, FIE, (pp. 87-93).
Shadiev, R., Hwang, W., Yeh, S., Yang, S., Wang, J., Han, L., . . . Liu, C. (2013). Applying unidirectional versus reciprocal teaching strategies in web-based environment and their effects on computer programming learning. Proceedings - 2013 IEEE 13th International Conference on Advanced Learning Technologies, ICALT 2013, (pp. 5-9).
Skalka, J., & Drlik, M. (2018). Priscilla-Proposal of System Architecture for Programming Learning and Teaching Environment. IEEE 12th International Conference on Application of Information and Communication Technologies, AICT 2018 - Proceedings. Institute of Electrical and Electronics Engineers Inc.
Souleiman, A. (2018). Orchestration and adaptation of learning scenarios - Application to the case of programming learning / teaching. Proceedings of IEEE/ACS International Conference on Computer Systems and Applications, AICCSA. 2017-October, pp. 7-11. IEEE Computer Society.
How to Cite
Copyright (c) 2020 Ceres Germanna Braga Morais; Francisco Milton Mendes Neto; António José Meneses Osório
This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors who publish with this journal agree to the following terms:
1) Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
2) Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
3) Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work.