Metocognitive Support Accelerates Computer Assisted Learning for Novice Programmers - Rum, Siti Nurulain Mohd; Ismail, Maizatul Akmar (Educational technology & society, 2017)
Computer programming is a part of the curriculum in computer science education, and high drop rates for this subject are a universal problem. Development of metacognitive skills, including the conceptual framework provided by socio-cognitive theories that afford reflective thinking, such as actively monitoring, evaluating, and modifying one’s thinking, has been identified as important for novice programmers. Studies have shown that metacognitive skills can be nurtured through the use of technology blended into educational activities. Designing metacognitive-related activities that focus on both social and cognitive development is both theoretically and practically challenging, especially in supporting the teaching and learning of computer programming. This paper describes six commonly-used strategies, viz., metacognitive scaffolding, reflective prompts, self-assessment, self-questioning, self-directed learning and graphic organizers, identified as important features that can be incorporated into computer-assisted learning tools in supporting computer programming learning. An experimental study was conducted to determine the effectiveness of these strategies. The results show that they helped learners by improving their performance in learning computer programming.