The effect of cognitive load theory on the learning of basic programming
Published 2019-06-01
Keywords
- Programming languages (electronic computers),
- Computer engineering,
- Database management,
- Data compression (computers)
How to Cite
Abstract
The learning of Programming is a difficult topic for university students who begin studies related to the computer sciences. This learning requires developing problem-solving skills through basic structures to design algorithms and programs. At the same time, students must learn the syntax of a programming language, an integrated development environment (IDE), and develop correct mental models. The combination of these requirements often lead to cognitive overload in the student. Cognitive Load Theory (CLT) proposes learning mechanisms to help reduce this overload. One is the “effect of the problem to be completed.” The objective of this study was to measure one of the effects predicted by CLT. Based on this, teaching materials were designed and used in a controlled quasiexperiment (applied during the second semester of 2017) with two groups of first semester students enrolled in the Computer Systems Engineering from the Universidad de Aguas Calientes (UAA, given its Spanish acronym). The pilot group (n = 42) used the teaching material designed with CBT, and the control group (n = 47) used traditional teaching material. The mean difference test showed a statistically significant difference (p = 0.002) between the final performance of both groups. The study concludes that the exercises to be completed had a positive effect on the learning process of the students in the experimental group, allowing for a better acquisition of programming schemes in the form of programming plans. Therefore, subsequent random replicates will allow to verify or discard the effect found.
URI: http://hdl.handle.net/11298/963
DOI: https://doi.org/10.5377/entorno.v0i67.7500
Keywords: Programming languages (electronic computers), Computer engineering, Database management, Data compression (computers).
References
Bandura, A. (1982). Self-Efficacy mechanism in human agency. American Psychologist, 37(2), 122-147.
Chang, K. E., Chiao, B. C., & Hsiao, R. S. (1996). A programming learning system for beginners. A completion strategy approach. Intelligent Tutoring Systems. 623-631. https://doi.org/10.1007/3-540-61327-7_162
Chi, M.T. H., Bassok, M., Lewis, M.W., Reimann, P., & Glaser, R. (1989). Self-explanations: How students study and use examples in learning to solve problems. Cognitive Science. 13(2), 145-182. https://doi.org/10.1016/0364-0213(89)90002-5
Cooper, G., & Sweller, J. (1987). The effects of schema acquisition and rule automation on mathematical problem-solving transfer. Educational Psychology Review. 79, 347-362.
Cowan, N. (2010). The magical mystery four: how is working memory capacity limited, and why?. Current Directions in Psychological Science, 19(1), 51-57. doi.org/10.1177/0963721409359277
Garner, S. (2002). The learning of plans in programming: a program completion approach. International Conference on Computers in Education, 2, 1053-1057. doi.org/10.1109/CIE.2002.1186149
Guzdial, M. S. (2002). Teaching the Nintendo generation how to program. Communications of the ACM, 45(4), 17-21.
Hashim, N., & Salam, S. (2009). Integration of visualization techniques and completion strategy to improve learning in computer programming. International Conference of Soft Computing and Pattern Recognition. 665-669. doi.org/10.1109/SoCPaR.2009.131
Jenkins, T. (2002). On the difficulty of learning to program. Loughborough University: LTSN Centre of information and computer sciences.
Kelleher, C. P., & Pausch, R. (2005). Lowering the barriers to programming: a survey of programming environments and languages for novice programmers. ACM Computing surveys (CSUR), 37(2), 83-137.
Kinnunen, P., & Malmi, L. (2006). Why students drop out CS1 course?. Proceedings of the Second International Workshop on Computing Education Research, 97-108. doi.org/10.1145/1151588.1151604
Malik, S. I., & Coldwell-Neilson, J. (2017). A model for teaching an introductory programming course using ADRI. Education and Information Technologies, 22(3), 1089-1120. doi.org/10.1007/s10639-016-9474-0
Mow, I. T. C. (2008). Issues and difficulties in teaching novice computer programming. Innovative Techniques in Instruction Technology, E-learning, E-assessment, and Education, 199-204.
Pintrich, P. R., & Zusho, A. (2007). Student motivation and self-regulated learning in the college classroom. The Scholarship of Teaching and Learning in Higher Education: An Evidence-Based Perspective, 731-810. https://doi.org/10.1007/1-4020-5742-3_16
Rist, R. S. (1989). Schema Creation in Programming. Cognitive Science. 13, 389-414.Rist, R.S. (2004). Learning to program: schema creation, application and evaluation. Computer Science Education and Research, 175-197.
Stripeikait, I. (2017). Skipping the Baby Steps: The importance of teaching practical rogramming before programming theory. Serious Games, 319-330. doi.org/10.1007/978-3-319-70111-0_30
Sweller, J. (1988). Cognitive Load During Problem Solving: Effects on Learning. Cognitive Science, 12, 257-285.
Sweller, J., Ayres, P., & Kalyuga, S. (2011). Cognitive Load Theory. New York, United Stated: Springer.
Tahy, Z. S., & Czirkos, Z. (2016). Why can’t I learn programming?. The learning and teaching environment of programming. Informatics in Schools: Improvement of Informatics Knowledge and Perception, 199-204. https://doi.org/10.1007/978-3-319-46747-4_17
Van Merrienboer, J., & Krammer, H. (1990). The completion strategy in programming instruction: Theoretical and empirical support. Research on Instruction, 45-61.
Xinogalos, S. (2010). An interactive learning environment for teaching the imperative and object-oriented programming techniques in various learning contexts. Knowledge Management, Information Systems, E-Learning, and Sustainability Research, 512-520. doi.org/10.1007/978-3-642-16318-0_66