Metacognitive support accelerates computer assisted learning for novice programmer

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...

Full description

Saved in:
Bibliographic Details
Main Authors: Mohd Rum, Siti Nurulain, Ismail, Maizatul Akmar
Format: Article
Language:English
Published: International Forum of Educational Technology & Society 2017
Online Access:http://psasir.upm.edu.my/id/eprint/62399/1/Metacognitive%20support%20accelerates%20computer%20assisted%20learning%20for%20novice%20programmer.pdf
http://psasir.upm.edu.my/id/eprint/62399/
https://www.jstor.org/stable/26196128?seq=1
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.