Computational Thinking (CT) - the process of thinking like a programmer or computer scientist - is a skill that that has the potential to transform the way students learn at educational institutions in different domains and different grade levels. With the increasing integration
...
Computational Thinking (CT) - the process of thinking like a programmer or computer scientist - is a skill that that has the potential to transform the way students learn at educational institutions in different domains and different grade levels. With the increasing integration of CT in classrooms, there is a growing need for CT assessment tools to evaluate the acquisition of CT skills. This research develops a framework for CT assessment that detects user micro-interactions in a university-level self-paced Python beginners course integrated into Jupyter notebooks. The users can improve their learning with the help of feedback via CT dashboards as part of this framework. A user evaluation study was conducted which showed that this framework can be used to improve the acquisition of CT skills via programming. The main contributions of this framework are the mapping between CT skills and user micro-interactions and development of the CT dashboards to help the user self-regulate their learning of programming. The framework developed can be easily integrated into any course that teaches Python programming using Jupyter notebooks and is yet to be extended to other programming courses.