I. Introduction
As the age of artificial intelligence approaches, information technology is developing at a rapid pace, and technological innovations such as IoT (Internet of Things), big data, artificial intelligence and robotics will further drive huge changes in the way people work and live in the future [1]. Countries are beginning to think seriously about how education should change to meet the needs of life in the smart era and the demand for talents in a smart society, and programming education as a way to cultivate “computational thinking”, “digital literacy”, “information Programming education is becoming more and more important as a means of developing “computational thinking”, “digital literacy”, “information literacy” and other essential skills for the smart age [2]. Developed countries such as the United States, the United Kingdom, Finland and the European Union have been formulating policies and plans to promote the implementation of programming education in primary and secondary schools [3]. Programming is an art, a science, and a discipline [4]. Solving programming problems can help improve students' computational thinking skills [5]. How to improve programming practice becomes a key issue [6].