ثانیًا: المراجع الأجنبیة:
Adelson, B. (1981). Problem solving and the development of abstract categories in programming languages. Memory & cognition, 9(4), 422-433.
Alajmi, F., & Alkhatib, A. A. (2015). Enhanced Teaching Model (ETM) for Teaching Programming Languages. International Journal of Computer Applications, 121(20).
Alammary, A., Carbone, A., & Sheard, J. (2012, January). Implementation of a smart lab for teachers of novice programmers. In Proceedings of the Fourteenth Australasian Computing Education Conference-Volume 123 (pp. 121-130).
Alario-Hoyos, C., Kloos, C. D., Estévez-Ayres, I., Fernández-Panadero, C., Blasco, J., Pastrana, S., & Villena-Román, J. (2016). Interactive activities: the key to learning programming with MOOCs. Proceedings of the European Stakeholder Summit on Experiences and Best Practices in and Around MOOCs, EMOOCS, 319.
Albrecht, E., Gumz, F., & Grabowski, J. (2018, June). Experiences in introducing blended learning in an introductory programming course. In Proceedings of the 3rd European Conference of Software Engineering Education (pp. 93-101).
Alemi, M. (2010). Educational games as a vehicle to teaching vocabulary. The Modern Journal of Applied Linguistics, 2(6), 425-438.
Alexander S. & Pevzner, P. (2018). Learning Algorithms through Programming and Puzzle Solving.
Allen, V. F. (1983). Techniques in Teaching Vocabulary. Oxford University Press, 200 Madison Ave., New York, NY 10016 (ISBN 0-19-434130-5, $4.95)..
Alraghaib, H. K., Elgazzar, Abdellatif E. & Nouby, Ahmed (2015). Sequential Design vs. Integrated Design of Blended Learning of Informatics Subject Matter: Is There Any Effectiveness in Developing Cognitive Achievement and Achievement Motivation among Kuwaiti Female Secondary School Students. Open Journal of Social Sciences, 3(02).
Alturki, R. A. (2016). Measuring and improving student performance in an introductory programming course. Informatics in Education-An International Journal, 15(2), 183- 204.
Ambrósio, A. P., Costa, F. M., Almeida, L., Franco, A., & Macedo, J. (2011, October). Identifying cognitive abilities to improve CS1 outcome. In 2011 Frontiers in Education Conference (FIE) (pp. F3G-1). IEEE.
Anderson, J. R., Farrell, R., & Sauers, R. (1984). Learning to program in LISP. Cognitive Science, 8(2), 87-129.
Atef, H., & Medhat, M. (2015). Blended learning possibilities in enhancing education, training and development in developing countries: A case study in graphic design courses. TEM Journal, 4(4), 358.
Atkinson, R. K., Levin, J. R., Kiewra, K. A., Meyers, T., Kim, S. I., Atkinson, L. A., & Hwang, Y. (1999). Matrix and mnemonic text-processing adjuncts: Comparing and combining their components. Journal of Educational Psychology, 91(2), 342.–357.
Atkinson, R. K., Merrill-Lusk, M. M., and Bietzel, B. (2007). Learning from book-based examples: Exploring the impact of combining fading with prompts and matrices. Paper presented at the biennial meeting of the European Association for Research on Learning and Instruction, Budapest, Hungary.
Baars, M., Visser, S., Van Gog, T., de Bruin, A., & Paas, F. (2013). Completion of partially worked-out examples as a generation strategy for improving monitoring accuracy. Contemporary Educational Psychology, 38(4), 395-406.
Bera, S. J., & Robinson, D. H. (2004). Exploring the Boundary Conditions of the Delay Hypothesis with Adjunct Displays. Journal of Educational Psychology, 96(2), 381–388.
Bornat, R., & Dehnadi, S. (2008, January). Mental models, consistency and programming aptitude. In Proceedings of the tenth conference on Australasian computing education- Volume 78 (pp . 53-61).
Ç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. International Review of Research in Open and Distributed Learning, 15(4), 161-185.
Caspersen, M. E. (2007). Educating novices in the skills of programming (Doctoral dissertation, Department of Computer Science).
Chen, Y. C. (2013). Learning protein structure with peers in an AR-enhanced learning environment (Doctoral dissertation).
Dale, N. B., & Weems, C. (2008). Programming and problem solving with Java. Jones & Bartlett Learning.
Deimel, L. E., & Moffat, D. V. (1982). A more analytical approach to teaching the introductory programming course. In Proceedings of the National Educational Computing Conference (pp. 114-119).
Dong, T., Dontcheva, M., Joseph, D., Karahalios, K., Newman, M., & Ackerman, M. (2012, May). Discovery-based games for learning software. In Proceedings of the SIGCHI conference on human factors in computing systems (pp. 2083-2086).
Dunican, E. (2002). Making the analogy: Alternative delivery techniques for first year programming courses.
Ferrari, A., Poggi, A., & Tomaiuolo, M. (2016). Object oriented puzzle programming. Mondo Digitale, 15, 64.
Ford, M., & Venema, S. (2010). Assessing the success of an introductory programming course. Journal of Information Technology Education: Research, 9(1), 133-145.
Fullerton, T. (2008). Game Design Workshop: A Playcentric Approach to Creating Innovative Games.
Gegg-Harrison, T. S. (1991). Learning Prolog in a schema-based environment. Instructional Science, 20(2), 173-192.
Gerjets, P., Scheiter, K., & Schuh, J. (2008). Information comparisons in example-based hypermedia environments: Supporting learners with processing prompts and an interactive comparison tool. Educational Technology Research and Development, 56(1), 73-92.
Gilmore, D. J. (1990). Expert programming knowledge: a strategic approach. In Psychology of programming (pp. 223-234). Academic Press.
Gomes, A., & Mendes, A. (2014, October). A teacher's view about introductory programming teaching and learning: Difficulties, strategies and motivations. In 2014 IEEE Frontiers in Education Conference (FIE) Proceedings (pp. 1-8). IEEE.
Gomes, A., & Mendes, A. J. (2007). Problem Solving in Programming. In PPIG (p. 18).
Gomes, A., & Mendes, A. J. (2007, September). Learning to program-difficulties and solutions. In International Conference on Engineering Education–ICEE (Vol. 2007).
Griffin, T. D., Wiley, J., & Thiede, K. W. (2008). Individual differences, rereading, and self- explanation: Concurrent processing and cue validity as constraints on metacomprehension accuracy. Memory & Cognition, 36(1), 93-103.
Hadjerrouit, S. (2008). Towards a blended learning model for teaching and learning computer programming: A case study. Informatics in Education-An International Journal, 7(2), 181-210.
Hancock-Niemic, M. A., Lin, L., Atkinson, R. K., Renkl, A., & Wittwer, J. (2016). Example-based learning: exploring the use of matrices and problem variability. Educational Technology Research and Development, 64(1), 115-136.
Hartness, K. (2004). Robocode: using games to teach artificial intelligence. Journal of Computing Sciences in Colleges, 19(4), 287-291.
Hearn, R. A., Demaine, E. D., & Sussman, G. J. (2006). Games, puzzles, and computation.
Howard, E. V. (2002). Can we teach introductory programming as a liberal education course? Yes, we can. In The Proceedings of ISECON (Vol. 19).
Ihantola, P., & Karavirta, V. (2011). Two-dimensional parson’s puzzles: The concept, tools, and first observations. Journal of Information Technology Education, 10(2), 119-132.
Ilahi, M., Belcadhi, L. C., & Braham, R. (2013, October). Towards a Competence Web-Based Assessment model to support lifelong learning. In Fourth International Conference on Information and Communication Technology and Accessibility (ICTA) (pp. 1-6). IEEE.
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).
Ja'ashan, M. M. N. H. (2015). Perceptions and Attitudes towards Blended Learning for English Courses: A Case Study of Students at University of Bisha. English Language Teaching, 8(9), 40-50.
Jairam, D., Kiewra, K. A., Kauffman, D. F., & Zhao, R. (2012). How to study a matrix. Contemporary Educational Psychology, 37(2), 128-135.
Kauffman, D. F., & Kiewra, K. A. (2010). What makes a matrix so effective? An empirical test of the relative benefits of signaling, extraction, and localization. Instructional Science, 38(6), 679-705.
Kiewra, K. A., Dennison, R. S., & Benton, S. T. (1995). How studying text supplements affects prose processing. Paper presented at American Educational Research Association, San Francisco, CA (April).
Kori, K., Pedaste, M., Tõnisson, E., Palts, T., Altin, H., Rantsus, R., ... & Rüütmann, T. (2015, March). First-year dropout in ICT studies. In 2015 IEEE Global Engineering Education Conference (EDUCON) (pp. 437-445). IEEE.
Koriat, A., & Ackerman, R. (2010). Choice latency as a cue for children’s subjective confidence in the correctness of their answers. Developmental science, 13(3), 441-453.
Koriat, A., Ma'ayan, H., & Nussinson, R. (2006). The intricate relationships between monitoring and control in metacognition: Lessons for the cause-and-effect relation between subjective experience and behavior. Journal of experimental psychology: general, 135(1), 36.
Langan-Fox, J., Code, S., & Langfield-Smith, K. (2000). Team mental models: Techniques, methods, and analytic approaches. Human Factors, 42(2), 242-271.
Langan-Fox, J., Waycott, J. L., & Albert, K. (2000). Linear and graphic advance organizers: Properties and processing. International Journal of Cognitive Ergonomics, 4(1), 19- 34.
Lau, W. W., & Yuen, A. H. (2011). Modelling programming performance: Beyond the influence of learner characteristics. Computers & Education, 57(1), 1202-1213.
Lee, M. J., Bahmani, F., Kwan, I., LaFerte, J., Charters, P., Horvath, A., ... & Long, S. (2014, July). Principles of a debugging-first puzzle game for computing education. In 2014 IEEE symposium on visual languages and human-centric computing (VL/HCC) (pp. 57-64). IEEE.
Lehman, S., Bruning, R., & Horn, C. (1983). A tool for improving critical thinking in web-based instruction: Two experimental studies. The CLASS project.
Levitin, A. (2005, February). Analyze that: puzzles and analysis of algorithms. In Proceedings of the 36th SIGCSE technical symposium on Computer science education (pp. 171- 175).
Lin, Y. W., Tseng, C. L., & Chiang, P. J. (2016). The effect of blended learning in mathematics course. EURASIA Journal of Mathematics, Science and Technology Education, 13(3), 741-770.
Linden, T., & Lederman, R. (2011). Creating visualizations from multimedia building blocks: A simple approach to teaching programming concepts.
Lister, R., Adams, E. S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., ... & Simon, B. (2004). A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bulletin, 36(4), 119-150.
Long, J. (2007). Just For Fun: using programming games in software programming training and education. Journal of Information Technology Education: Research, 6(1), 279- 290.
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. In working group reports from ITiCSE on Innovation and technology in computer science education (pp. 125-180).
Merrick, K. E. (2010). An empirical evaluation of puzzle-based learning as an interest approach for teaching introductory computer science. IEEE Transactions on Education, 53(4), 677-680.
Michalewicz, Z., & Michalewicz, M. (2008). Puzzle-based learning. Hybrid Publishers.
Mirriahi, N., Alonzo, D., & Fox, B. (2015). A blended learning framework for curriculum design and professional development. Research in Learning Technology, 23.
Mohorovičić, S., & Strčić, V. (2011, January). An overview of computer programming teaching methods. In XXII Central European Conference on Information and Intelligent Systems (pp. 1-6).
Ngo-Ye, T., & Park, S. H. (2014). Motivating business major students to learn computer programming–a case study. In Proceedings of the Southern Association for Information Systems Conference, Macon, GA, USA March 21st–22nd.
Oliver, R. (1993). Measuring hierarchical levels of programming knowledge. Journal of Educational Computing Research, 9(3), 299-312.
Oyelere, S. S., Agbo, F. J., Sanusi, I. T., Yunusa, A. A., & Sunday, K. (2019, July). Impact of Puzzle-Based Learning Technique for Programming Education in Nigeria Context. In 2019 IEEE 19th International Conference on Advanced Learning Technologies (ICALT) (Vol. 2161, pp. 239- 241). IEEE.
Parsons, D., & Haden, P. (2006, January). Parson's programming puzzles: a fun and effective learning tool for first programming courses. In Proceedings of the 8th Australasian Conference on Computing Education-Volume 52 (pp. 157-163).
Petkov, M., & Rogers, G. E. (2011). Using Gaming to Motivate Today's Technology-Dependent Students. Journal of STEM Teacher Education, 48(1), 7-12.
Rahman, S. S. A. (2012). Learning programming via worked-examples: The effects of cognitive load and learning styles (Doctoral dissertation, University of Sussex).
Redford, J. S., Thiede, K. W., Wiley, J., & Griffin, T. D. (2012). Concept mapping improves metacomprehension accuracy among 7th graders. Learning and Instruction, 22(4), 262-270.
Robinson, D. H., & Kiewra, K. A. (1995). Visual argument: Graphic organizers are superior to outlines in improving learning from text. Journal of educational psychology, 87(3), 455.
Robinson, D. H., & Schraw, G. (1994). Computational efficiency through visual argument: Do graphic organizers communicate relations in text too effectively?. Contemporary Educational Psychology, 19(4), 399-415.
Robinson, D. H., & Skinner, C. H. (1996). Why graphic organizers facilitate search processes: Fewer words or computationally efficient indexing?. Contemporary Educational Psychology, 21(2), 166-180.
Robinson, D. H., Katayama, A. D., Dubois, N. F., & Devaney, T. (1998). Interactive effects of graphic organizers and delayed review on concept application. The Journal of Experimental Education, 67(1), 17-31.
Roblyer, M. D., & Doering, A. H. (2013). Integrating educational technology into teaching..[Kindle version]. Retrieved from Amazon. com.
Rosminah, M. D. S., & Zamzuri, A. (2019). Difficulties in learning programming: Views of students. In Proc. 1st International Conference on Current Issues in Education (pp. 74-78).
Rudder, A., Bernard, M., & Mohammed, S. (2007, March). Teaching programming using visualization. In Proceedings of the Sixth IASTED International Conference on Web-Based Education (pp. 487-492).
Schell, J. (2008). The art of game design: a book of lenses/by Jesse Schell.
Shih, Y. E. (2007). Setting the new standard with mobile computing in online learning. The International Review of Research in Open and Distributed Learning, 8(2).
Sunday, K., Ocheja, P., Hussain, S., Oyelere, S., Samson, B., & Agbo, F. (2020). Analyzing Student Performance in Programming Education Using Classification Techniques. International Journal of Emerging Technologies in Learning (iJET), 15(2), 127-144.
Suzuki, A., Sato, T., & Awazu, S. (2008). Graphic display of linguistic information in English as a Foreign Language reading. TESOL Quarterly, 42(4), 591-616.
Sweller, J., Ayres, P., & Kalyuga, S. (2011). Measuring cognitive load. In Cognitive load theory (pp. 71-85). Springer, New York, NY.
Tenenberg, J. D., Fincher, S., Blaha, K., Bouvier, D., Chen, T. Y., Chinn, D., ... & Monge, A. (2005). Students Designing Software: a Multi-National, Multi-Institutional Study. Informatics in Education, 4(1), 143-162.
Thiede, K. W., Griffin, T. D., Wiley, J., & Anderson, M. C. (2010). Poor metacomprehension accuracy as a result of inappropriate cue use. Discourse Processes, 47(4), 331-362.
Thomas, L., Ratcliffe, M., Woodbury, J., & Jarman, E. (2002). Learning styles and performance in the introductory programming sequence. ACM SIGCSE Bulletin, 34(1), 33-37.
Topalli, D., & Cagiltay, N. E. (2018). Improving programming skills in engineering education through problem-based game projects with Scratch. Computers & Education, 120, 64-74.
Tucker, C. R. (2012). Blended learning in grades 4–12: Leveraging the power of technology to create student-centered classrooms. Corwin Press.
Van Ments, M. (1999). The effective use of role-play: Practical techniques for improving learning. Kogan Page Publishers.
Van Merriënboer, J. J. (1990). Strategies for programming instruction in high school: Program completion vs. program generation. Journal of educational computing research, 6(3), 265-285.
Van Merrienboer, J. J., Schuurman, J. G., De Croock, M. B. M., & Paas, F. G. W. C. (2002). Redirecting learners' attention during training: Effects on cognitive load, transfer test performance and training efficiency. Learning and instruction, 12(1), 11-37.
Vekiri, I. (2002). What is the value of graphical displays in learning? Educational psychology review, 14(3), 261-312.