Explicitly Teaching Metacognitive and Self-Regulation Skills in Computing

Current computing education practices do not support the diversity of students who want to learn how to code equally, leaving those who encounter barriers to struggle. For instance, students with underdeveloped metacognitive and self-regulation skills, or whose skills do not easily transfer to programming struggle to develop them on their own. The high attrition rates in CS represent a loss of talent, creativity, and innovation for the discipline which we could capture. If we could support all students equally, we would increase diversity in the field while better meeting the growing need for computer scientists.