Skip to main content
Heliyon logoLink to Heliyon
. 2023 Apr 18;9(4):e15530. doi: 10.1016/j.heliyon.2023.e15530

Investigation and analysis of the current situation of programming education in primary and secondary schools

Qizhong Ou 1,, Weijie Liang 1, Zhenni He 1, Xiao Liu 1, Renxing Yang 1, Xiaojun Wu 1
PMCID: PMC10161691  PMID: 37151627

Abstract

With the rapid development of the era of artificial intelligence, the application ability of programming is also highlighted. As one of the necessary abilities of social talents in the future, primary and secondary schools pay more and more attention to this, and programming education is also in full swing. Therefore, based on previous studies, this paper further clarifies the current situation when the current situation of programming education in primary and secondary schools is ambiguous. This paper is aimed at a wide range of primary and secondary school teachers. With 1500 teachers who participated in the online training class for programming teachers as the object in Chinese primary, middle and high school stages, mainly from the three levels of schools, teachers, and students. The questionnaire with good reliability and validity test was used as the research method, the survey data were statistically described and analyzed, and differences were analyzed using Microsoft Excel2019, SPSS26.0 and so on, it investigates and analyzes the current situation of programming education in primary and secondary schools. Results indicate that the overall quality of programming education offerings in elementary and secondary schools is subpar, and the construction of programming education curriculum in schools requires improvement. Nevertheless, schools prioritize improving students' comprehensive abilities, and teachers hold a positive attitude towards programming education and teaching. Although students demonstrate a strong interest in learning, their foundation is weak, resulting in poor learning outcomes. Consequently, the author provides specific recommendations regarding programming education's working mechanism, curriculum standard system, teacher training, and educational resources sharing to better develop programming education in primary and secondary schools.

Keywords: Programming education in primary and secondary schools, Programming education for students, Programming learning, Investigation and current situation, Primary and secondary education

1. Introduction

Artificial intelligence has emerged as a crucial area of scientific and technological innovation, forming an integral pillar of the digital economy era. Since 2016, over 40 countries and regions have prominently elevated the promotion of AI development to the heights of national strategy. For instance, China's “Proposal of the Central Committee of the Communist Party of China on Formulating the Fourteenth Five-Year Plan for National Economic and Social Development and Outline of Vision 2035″ emphasizes targeting frontier areas, including AI, implementing key science and technology projects with foresight and strategy, and promoting the healthy development of the digital economy. Similarly, the United States has established the National AI Initiative Office, the National AI Research Resources Task Force, and other agencies, alongside various departments introducing policies elevating AI to the level of “future industry” and “future technology.” This consolidation serves to enhance America's global competitiveness in the field of artificial intelligence. The EU has released the “2030 Digital Guide: Europe's Digital Decade” and the “Upgrade 2020 New Industrial Strategy,” which comprehensively reshape its global influence in the digital era, where the promotion of artificial intelligence assumes a significant task. Meanwhile, Japan has developed the “Science and Technology Innovation Comprehensive Strategy 2020″ while releasing the “AI Strategy 2021″ in June 2021, aiming to foster innovation and creation in the artificial intelligence domain and build a comprehensive digital government. More recently, in September 2021, the U.K. unveiled another critical strategy, the new 10-year national AI strategy, following the launch of the first in 2016, to reshape the AI sector's impact. Countries worldwide are striving to cultivate programming talents due to its importance as a vital skill in the age of intelligence. The international educational community is placing increasing emphasis on programming ability's cultivation, as highlighted in the NMC's⟪2017 EDUCAUSE Horizon Report™ Teaching and Learning Edition⟫. Over the next 1–2 years, programming is expected to become a professional quality that will gradually drive the development of basic education [1]. Amidst the global surge in programming, society has gradually recognized the educational value of programming. This recognition is reflected in the incorporation of programming education into primary and secondary schools' basic curriculum, which has become a new form of education valued by many countries for its unique charm. The integration of programming education into the national curriculum system of basic education is a general trend. Consequently, programming education and teaching surveys have been conducted worldwide. However, the current stage of programming education has not been carried out as well as expected. One plausible reason behind this is blindly following the trend. Nevertheless, due to different national conditions worldwide, programming education should be tailored to the actual situation. Blindly following the trend without considering local situations can lead to unforeseen consequences. To prevent such occurrences, it is necessary to understand the current status and problems of local programming education. Therefore, this study seeks to answer research questions such as how many schools offer programming education, what is the status of these schools, the competency level of teachers who teach programming, and how well students learn programming. The investigation takes programming education in primary and secondary schools in China as an example to find out the present situation of programming education and suggest targeted strategies to improve its quality further. While Chinese education has its uniqueness, it shares a common fate with other nations concerning deepening economic globalization. The World Digital Education Conference has emphasized digital empowerment for high-quality development of basic education, stressing the need for global cooperation to promote basic education's common improvement. As an essential component of digital education, programming education should actively respond to the call of the World Digital Congress and explore the current situation of programming education in primary and secondary schools to enhance its quality worldwide. Thus, this research mainly investigates and analyzes programming education at school, teacher, and student levels, providing strategic recommendations based on the current situation to improve programming education's quality in primary and secondary schools.

2. Review of the literature

2.1. Status of research on programming education in developed countries or regions

The worldwide development of programming education in primary and secondary schools shows significant disparities due to uneven political, economic, and educational progress. In 2017, Hacker Rank, a globally renowned developer skills evaluation platform, analyzed the importance and prevalence of programming education for adolescents across various nations, releasing the 2017 Developer Skill Report. The US (44.8%), Australia (10.3%), and the UK (9.3%) emerged as the top three countries in terms of youth coding penetration [2]. Programming education has progressed most extensively in developed countries like these. Their programming education initiatives began earlier and expanded more comprehensively. Sun Dan et al. analyzed programming education's development status in exemplary countries such as the United States, Australia, and the United Kingdom, noting that non-profit organizations have aided its swift progress. Many of these countries have integrated programming education into their school curriculum [3]. Sun Lihui et al. examined the global progress of programming education for children, drawing attention to phenomena like early age programming tool usage, commercialization of programming education, and research clustering in the field of programming education [3]. They also underscored the emergence of new approaches like unplugged programming and pen-and-paper programming, which are not subject to computer constraints, facilitating the promotion of programming education [4]. By analyzing foreign primary and secondary school programming education policies, Liu Xiangyong et al. found that diverse programming languages are chosen to develop computational thinking. Computational thinking is an essential value orientation in programming education [5]. As a vital skill of the 21st century, it plays a crucial role in programming education [6]. The relationship between computational thinking and programming is mutually beneficial, with programming supporting computational thinking's development while computational thinking provides a new and upgraded role for programming [7].

2.2. Status of research on programming education in developing countries or regions

In contrast to the developed countries and regions mentioned earlier, programming education in some developing countries started later, but meaningful achievements have been made. Lu Lizhu et al. conducted a content analysis study on the current state of programming education and found gaps in the design and development of programming tools for children's programming education in China, with no established teaching model worth promoting [8]. Similarly, Li Yuge et al. confirmed that programming education in China is still in its nascent stages, primarily existing in the form of enterprise R&D products and institutional training, without widespread promotion and application in primary and secondary schools. Conclusive findings regarding teaching models, theoretical foundations, and resource construction remain incomplete [9]. Through the use of knowledge graphs, Li Gaoxiang et al. concluded that programming education research in China mainly focuses on exploring the usefulness of various programming tools and the overall development status of programming education, with insufficient emphasis on popularization, integration, and practical application of programming education [10]. Wei Xiaofeng et al. analyzed the development status of programming education in China from policy and school education perspectives, discovering numerous policy documents related to programming education in recent years. Programming education in school education has close ties with STEM education and maker education, promoted mostly through competitions and information technology courses in school settings [11]. In Yu Chengbo's investigation of the current status of programming education for primary and secondary school students, they observed insufficient attention being paid to programming education in primary and secondary schools, with low programming knowledge and skills levels among students and inadequate learning attitudes. Moreover, the necessary environment for implementing programming education in schools has not yet been established [12].

2.3. Status of research on the main approaches to programming education

In the realm of basic education, block-based programming has emerged as a popular alternative to traditional text-based programming, as explicated in this article. Two key facets of block-based programming are the programming environment and the corresponding situation of teachers and students. In a seminal study by Yuhan Lin et al. a total of 101 idiosyncratic block-based programming environments were identified, with 46 such environments subjected to an exhaustive analysis aimed at identifying areas of focus and functionality. The sheer magnitude of available programming environments facilitates decision-making for educators, parents, children, and novice programmers alike, as they seek to navigate the intricacies of choosing a suitable platform. Notably, among the analyzed block-based programming environments, all but five are designed to run in a web browser [13]. Moving on to the second facet, research conducted by David Weintrop et al. has indicated that instructors can effectively accentuate the advantageous features of the programming environment while also addressing and mitigating students' concerns regarding perceived unreality or lack of expressiveness. Evidently, some students have a predilection for block-based interfaces owing to the natural language description of blocks, drag-and-drop interaction, and ease of browsing languages. Prior research indicates that novice programmers find it easier to learn block-based programming languages when compared to text-based programming [14]. Furthermore, Peter Rich et al. have found that primary and secondary school students often engage with Scratch after class and during school hours. Their investigation revealed that while students exhibit higher levels of participation, they tend to exhibit lower levels of collaboration and creativity in a school setting [15].

2.4. Chapter summary

In summary, the majority of developed nations have demonstrated a high level of awareness and unwavering support for the advancement of programming education, with novel non-traditional programming methods continually emerging. The value of programming education lies in its ability to foster the development of computational thinking. Furthermore, programming education has become increasingly commercialized as other social institutions actively participate in its promotion. Programming education in developing countries is largely based on content analysis and literature review aimed at exploring the current state of programming education and assessing areas where further development is needed, such as programming carrier, teaching mode, mode of existence, and resource construction. Comprehensive educational research has also identified the importance of integrating programming with other educational domains. Despite rapid development, however, programming education in developing countries faces several challenges, such as inadequate attention from schools, insufficient numbers of trained teachers, and students failing to meet the target of 3D proficiency. Careful analysis reveals that programming education in these countries shows promise and a fast development rate. The development of programming education is progressing steadily, with increasing governmental attention and active participation by relevant enterprises in society. There are numerous forms of programming education available, and quality can be improved through various directions and styles. However, both developed and developing nations tend to emphasize block-based programming in initial primary and secondary programming education due to the simplicity and abundance of corresponding programming environments, making it easier for students to learn the block-based programming language. This approach also allows educators to effectively address and mitigate any concerns students may have about programming. Given the uneven development of programming education worldwide, it is essential to conduct a comprehensive survey of the current status and problems of programming education in primary and secondary schools, focusing on programming schools, teachers, and students. Key questions include the number of schools currently offering programming education, the status of programming education schools, the qualifications of programming education teachers, and the extent of student engagement in programming education.

3. Research methodology

This study was principally conducted utilizing the literature review approach and questionnaire survey methodology.

3.1. Literature research method

The literature research method is an established approach that entails the gathering, identification, and organization of literature to develop a scientific understanding of a particular subject matter. Despite its ancient roots, it remains a critical tool in contemporary scientific inquiry. In this study, we endeavored to explore programming education by extensively reviewing related literature sourced from reputable academic databases such as Web of Science, CNKI, Wanfang database, Google Scholar, and Springer. To ensure comprehensive coverage, we employed a rigorous selection criterion to identify relevant studies. Subsequently, the collected literature was meticulously organized and analyzed to generate insights into the current state of programming education research worldwide, identify potential research entry points, and refine our research inquiries. Furthermore, our objectives involved clarifying the core tenets of programming education, identifying theoretical foundations for our research, and determining the most appropriate research methodology.

3.2. Questionnaire method

A standard questionnaire survey begins with the researcher selecting a representative sample of respondents and subsequently administering a standardized questionnaire. This method is advantageous as it allows for objective and accurate analysis of social phenomena, thereby reflecting the general state of society based on the sample surveyed. Furthermore, the information gathered through the questionnaire approach is often more reliable, and the degree of generalization of conclusions drawn from the research is relatively high. In this study, we targeted primary and secondary school teachers and utilized a carefully crafted questionnaire that was tailored to their specific needs and circumstances. Drawing from previous related questionnaires, we designed a suitable instrument that accounted for the actual situation of the participants and their respective schools. We then administered the questionnaire and analyzed the data collected to gain insights into various aspects of programming education in primary and secondary schools. Finally, we summarized the current state of programming education while highlighting the issues currently facing these institutions based on our findings.

4. Research tools

The present study utilized a questionnaire as its research instrument, which underwent pre-research with a small sample of subjects. The collected data were sorted using Microsoft Excel 2019 and subsequently tested for reliability via the reliability analysis function in SPSS 26.0 while validity was ensured through the dimensionality reduction factor function in SPSS 26.0. If the questionnaire's reliability did not meet standard criteria, adjustments were made to its items until it achieved appropriate conditions before conducting a large-scale survey. Recovered large-scale data were then simply organized through Microsoft Excel 2019, and the frequency function in SPSS 26.0 was utilized for descriptive statistical analysis of questionnaire items. Independent sample t-tests or chi-square tests were employed to examine differences between some basic information of teachers and some situations of teachers' programming education and teaching. Based on the analyzed data, the current state and problems of programming education in primary and secondary schools were summarized.

After a comprehensive literature review, it emerged that there were scarcely any complete questionnaires on programming education available in prior studies. Thus, the present research employed a model based on Zhong Baichang's “Investigation and Analysis on the Status of Robot Education in Primary and Secondary Schools in China.” This three-level questionnaire investigated programming education's status in primary and secondary schools from the perspectives of schools, teachers, and students [16]. Inappropriate questions such as “the number of students sharing a set of robots and the price of teaching robots” from Zhong Baichang's questionnaire were modified after combining them with the realities of programming education. The edited questionnaire initially comprised three content dimensions: School, teachers, and students. To verify its reliability and validity, a pre-survey involving 30 questionnaires was conducted, with 29 effectively received, and an effective rate of 96.7%. The data from these surveys were utilized for reliability and validity analysis.

In this study, the Cronbach α reliability coefficient was employed to test the questionnaire's reliability (only scale questions were tested). As presented in Table 1, the overall reliability coefficient of the questionnaire was 0.938, with each dimension's reliability coefficient values as follows: Basic information of teachers: 0.746; Schools with programming education: 0.998; and Students in schools with programming education: 0.997. Both the overall reliability coefficient and those of each dimension surpassed 0.7, indicating high internal consistency of the measurement scale throughout the questionnaire.

Table 1.

Reliability test results of the questionnaire.

Dimension Number Sample size Coefficient of Cronbach
The whole questionnaire 0.938
Basic information about teachers 4 797 0.746
Programming education has been carried out in schools 4 244 0.998
Students in schools that have developed programming education 5 244 0.997

The questionnaire of this study was referenced to Zhong Baichang's “Survey and Analysis of the Current Situation of Robotics Education in Primary and Secondary Schools in China”, which was modified on the basis of the actual programming education in primary and secondary schools with certain content validity. Meanwhile, the structural validity was tested using factor analysis (here only the reliability of the scale questions was tested), and the KMO value was measured as 0.948, and the null hypothesis of Bartlett's sphere test did not hold (p = 0.000 < 0.001), which satisfied the conditions of factor analysis, indicating that the questionnaire has good structural validity.

The questionnaire underwent rigorous scrutiny from three experts in the field and was ultimately divided into two sections: basic information on teachers and programming education in schools. This entailed a comprehensive inquiry of 25 items, categorized into four parts. The initial section elucidated background information of teachers such as gender, teaching experience, professional background, and current involvement in programming education and teaching. The subsequent section focused on eliciting information regarding teachers' attitudes towards programming education and teaching, their knowledge and experience with programming, and their perceptions of students' learning outcomes. Utilizing a 5-point Likert scale (ranging from strongly disagree to strongly agree), teachers were prompted to evaluate their attitudes and opinions towards programming education. The following nine items pertained to data collection concerning the present state of programming education in schools, including the identification of schools that offer programming education, their location, level at which programming education began, type of programming courses provided, use of teaching materials, programming languages employed, platform utilized, and the primary method of assessment. Furthermore, the questionnaire evaluated students’ interest in programming, their proficiency and ability to learn, and the effectiveness of the program. In this segment of the questionnaire, a 5-point Likert scale was also employed for assessing student feedback. Finally, the last two items gathered crucial insights into the main factors influencing students' learning of programming and programming education within schools.

The present study conducted a questionnaire survey to investigate the status of programming education in primary and secondary schools in China. Specifically, the survey targeted front-line backbone teachers who participated in an online training course for programming teachers. These participants, including primary, junior, and senior high school teachers, are deemed representative of the current situation in schools. Prior to data collection, ethical approval was granted by the Ethics Committee for the Investigation and Research on the Status of Programming Education in Primary and Secondary Schools. Participants were provided with a clear explanation of the study's objectives before providing consent to participate and completing the online questionnaire. The distribution of 1500 questionnaires resulted in a high response rate of 90.5%, with 1322 valid questionnaires, yielding an effective rate of 97.3%.

5. Analyze data and produce results

5.1. The basic situation of teachers

Teachers are a critical factor influencing the development of programming education, and the gender ratio of teachers participating in training programs reflects the overall gender distribution of educators. Analysis of Table 2 reveals a marked gender disparity, with approximately three times more female than male participants. This finding is congruent with the results of Wang Mengjiao's investigation into the status of programming [17]. Furthermore, teaching experience among surveyed educators is markedly skewed, with 20.7% being novice instructors and 33.7% having more than ten years of teaching experience. These data suggest that veteran teachers with extensive pedagogical expertise still comprise the backbone of programming education, while simultaneously nurturing new programming teachers. However, only 37.4% of respondents possess an information technology-related professional background, which falls short of ideal requirements for this field. In addition, just 20.7% of teachers are currently involved in programming education and instruction, indicating a shortage of full-time programming teachers in most primary and secondary schools. This trend is not unique to China; many countries worldwide face a shortage of qualified computer teachers for teenagers. Even developed nations such as the United Kingdom confront this issue, as research has shown a dearth of qualified computer teachers and supporting measures in programming education for young learners, with most instructors “borrowed” from other fields [18].

Table 2.

Results of the basic situation of teachers.

Project name Options Frequency Percentage
Gender Male 333 25.2%
Female 989 74.8%
Teaching age No mount guard 274 20.7%
The following 1 year 153 11.6%
1–3 years 190 14.4%
3–5 years 116 8.8%
5–7 years 74 5.6%
7–10 years 70 5.3%
More than 10 years 445 33.7%
Professional Background Information technology related 494 37.4%
Other professional 828 62.6%
Currently engaged in programming teaching Yes 274 20.7%
No 1048 79.3%

5.2. Current Situation of programming education in primary and secondary

5.2.1. The overall situation of programming education in primary and secondary schools is not good

Overall, the outlook for programming education in primary and secondary schools is far from promising. Fig. 1 data reveals that a staggering 64.4% of schools have yet to implement programming education initiatives, while the remaining 35.6% have only introduced these programs for relatively brief periods, with most lasting less than three years. This state of affairs warrants significant public concern and scrutiny.

Fig. 1.

Fig. 1

The development of programming education in schools.

Table 3 reveals a stark contrast in the regional distribution of programming education programs, with only 17% of participating schools situated in rural areas compared to the majority (83%) located in urban regions. This disparity is likely influenced by economic factors that have an impact on equipment and teacher resources. Urban schools enjoy more abundant hardware and software resources, along with numerous teaching materials. Additionally, highly skilled and qualified educators are more readily available in urban areas. However, rural schools face significant challenges in these two areas, with shortages of both hardware and software resources and fewer high-quality teachers. This uneven distribution underscores the need for education policymakers to address these disparities and consider targeted interventions to support the development of programming education programs in rural areas.

Table 3.

The distribution of school districts.

Project name Options
City County
Schools that have developed programming education 391 (83%) 80 (17%)

Based on the data presented in Table 4, it can be observed that primary schools have a higher percentage (64.3%) of teachers who teach programming during their learning periods compared to middle schools which only have a relatively low proportion (26.8%). This may be attributed to the fact that middle school students might not have had access to programming education during their earlier years in primary school which could have laid the foundation for programming skills. Additionally, due to the rigorous nature of entrance exams in middle school, students have limited time to acquire programming knowledge. Furthermore, the lack of continuity and coherence between the two learning periods poses a significant challenge in introducing programming courses in middle school.

Table 4.

The distribution of school sections.

Project name Options
Primary school Middle school Others
Schools that have developed programming education 303 (64.3%) 126 (26.8%) 42 (8.9%)

According to the findings presented in Table 5, primary schools predominantly initiate programming education from Grade 1234, accounting for 59% of all cases. Meanwhile, the majority of middle schools commence this education in seventh grade, representing merely 8.9% of the total sample. This implies that programming education in primary school is primarily introduced during the earlier stages of each period and mainly during primary education. Nonetheless, a considerable proportion of schools - 19.5% - initiate programming education at grade 9 or beyond, second only to grade 3. This highlights a delayed introduction of programming education in many schools. Furthermore, by conducting an analysis of variance, we observe significant disparities among schools' eagerness for programming education at the beginning grade. Notably, the overall trend depicts a decline in enthusiasm for programming education with an increase in grades.

Table 5.

Grade distribution at the beginning of programming courses.

The beginning of programming education in our school Options Frequency Percentage The enthusiasm of the school to develop programming education
X±SD T Sig
Preschool 5 1.1% 4.60 ± 0.548 2.844 0.002
Grade one 55 11.7% 4.42 ± 0.809
Grade two 28 5.9% 4.36 ± 0.780
Grade three 136 28.9% 4.26 ± 0.843
Grade four 59 12.5% 4.24 ± 0.817
Grade five 29 6.1% 4.38 ± 0.728
Grade six 15 3.2% 4.27 ± 0.704
Grade seven 42 8.9% 3.93 ± 1.045
Grade eight 5 1.1% 4.00 ± 0.707
Grade nine 5 1.1% 4.00 ± 1.000
Ninth grade beyond 92 19.5% 3.84 ± 0.929

5.2.2. Programming education curriculum construction in schools needs to be improved

Based on the findings presented in Table 6, it is noteworthy that a mere 14% of schools offer programming courses as compulsory classes, while 20.8% introduce them as elective courses. Conversely, the majority of institutions - 65.2% - implement programming education through interest groups, associations, and other out-of-classroom formats. Compulsory courses, as an embodiment of the school's emphasis on a specific discipline, signify the institution's commitment to programming education. However, the prevalent implementation of programming education in interest groups and other extracurricular formats suggests that numerous schools may not place adequate importance on programming education, relegating it to a mere recreational activity. Furthermore, the analysis of variance indicates significant differences among schools' enthusiasm for programming education across various course types. Notably, compulsory courses exhibit the highest level of enthusiasm followed by “other” formats, with elective courses evincing the least interest (see Table 7).

Table 6.

The form of course offering.

The type of programming courses offered in our school Options Frequency Percentage The enthusiasm of the school to develop programming education
X±SD T Sig
Compulsory courses 66 14% 4.48 ± 0.749 4.934 0.008
Elective course 98 20.8% 4.11 ± 0.951
Others (e.g. interest groups, clubs) 307 65.2% 4.13 ± 0.863
Table 7.

The way the course is assessed.

The main assessment methods of programming courses Options Frequency Percentage The enthusiasm of the school to develop programming education
X±SD T Sig
Normal class process assessment 102 21.7% 3.91 ± 0.869 5.237 0.000
Student creation 107 22.7% 4.21 ± 0.847
Student competition scores 77 16.3% 4.35 ± 0.855
Student final examination 31 6.6% 3.84 ± 1.128
Comprehensive evaluation 154 32.7% 4.30 ± 0.801

Based on the data presented in Fig. 2, it is evident that the utilization of programming teaching materials in schools lacks consistency and structure. Specifically, 27.4% of schools employ textbooks compiled by corporations or social organizations, while 25.3% use government-compiled textbooks, and 16.3% utilize self-compiled materials. However, a significant proportion of institutions (31%) do not possess any textbooks for programming education. This lapse suggests that several schools are not fully cognizant of the value of programming courses or programming education as a whole. Moreover, these teaching materials have not been certified by the state, which raises doubts regarding their validity and compatibility with the national curriculum standard. The lack of a national curriculum system and the absence of unified certification for standard textbooks are major factors contributing to this situation. Certified teaching materials play a crucial role in providing top-level design guidance, which is essential for promoting the development of the curriculum system. Additionally, the integration of programming education into various subjects poses a challenge in constructing suitable teaching materials [19].

Fig. 2.

Fig. 2

Use of course materials.

Programming education is currently undergoing a transitional phase of rapid development, which leads to the widespread emergence of various programming languages. The data presented in Fig. 3 reveals that Scratch, Kitten, and Python are the predominant programming languages employed in primary and secondary schools, accounting for a total of 62.8%. Nevertheless, it is worth noting that a considerable proportion of schools (25.5%) utilize unconventional programming languages. Scratch and Kitten programming languages are highly visual and comprehensible while being user-friendly, thereby enhancing students' programming learning experience and promoting their initiative. Compared to traditional programming languages, Python significantly lowers the threshold for students to learn programming, enabling them to achieve results more quickly, building confidence, and fostering enthusiasm for learning.

Fig. 3.

Fig. 3

The use of programming languages.

5.2.3. Teachers are more focused on improving students' overall skills

In today's educational context, fostering students' innovative spirit and practical ability is crucial for their overall development. Thus, teachers need to adopt diverse evaluation methods that go beyond mere scores and encompass a range of subjects and dynamic processes. The comprehensive evaluation approach is preferred, with 32.7% weightage, followed by student-created work and class process assessments at 22.7% and 21.7%, respectively. As a multifaceted subject, programming emphasizes the enhancement of students' comprehensive abilities, creative potentials, and process development. Analysis of variance reveals significant differences in the school's enthusiasm for programming education, primarily attributed to assessment practices. Notably, students' competition scores and comprehensive evaluation scores top the list, while final scores rank lower. These findings indicate that the school prioritizes the holistic evaluation of students and the promotion of their creative aptitude alongside programming learning.

5.2.4. Teachers have a positive attitude towards teaching programming education

As the primary agents of “teaching,” teachers are expected to possess a sound grounding in fundamental skills. However, Table 8 data reveal a relative insufficiency in basic programming knowledge and teaching experience among the surveyed educators. While some exhibit a wealth of expertise, overall proficiency levels remain low, with most demonstrating only average knowledge. Despite differing attitudes towards programming education, teachers generally express a preference for it, as evidenced by an average score above 4 (yes) on a Likert scale. Additionally, a majority endorse advanced teaching concepts and acknowledge the significance of programming education in cultivating students' innovative capacity and design thinking. They contend that programming must be taught to all students to optimize their intellectual potential. In line with Steve Jobs' assertion, “Everyone should learn to code because it teaches you how to think, and people who can code want to change something.” The findings underscore the importance of improving teachers' programming knowledge and training to enhance their efficacy in delivering quality education that fosters critical thinking and creativity among students.

Table 8.

Description and analysis of the basic situation of teachers.

Project name N Min Max Average Standard deviation Median
My attitude towards programming education and teaching 1322 1 5 4.48 0.777 5
Basic programming knowledge and teaching experience 1322 1 5 2.75 1.778 3
My attitude to every student should learn programming 1322 1 5 4.35 0.828 5
Learning programming can cultivate students' creative ability and design thinking 1322 1 5 4.68 0.593 5

5.2.5. Students have high interest in learning programming, but weak and ineffective foundation

Fig. 4 data reveal a stark gender imbalance in programming education, with a greater number of male students than female. Consequently, fewer women pursue coding in higher education. The National Science Foundation (NSF) 2015 report highlights significant gender differences in degree attainment across disciplines, particularly in computer science and engineering, where only 18% and 19% of undergraduate graduates are female, respectively [20]. Historical and cultural factors contribute to this disparity, placing girls at a slight disadvantage. Addressing this issue represents an urgent challenge, especially in primary and secondary schools where promoting equal access to programming education for girls is crucial.

Fig. 4.

Fig. 4

Gender profile of students learning programming.

According to the data presented in Table 9, it is evident that students exhibit a general interest in programming courses, as evidenced by an average score exceeding 4, indicating a high level of interest. It is widely acknowledged that interest is a powerful motivator, and fostering an interest in programming is crucial for effective programming education, particularly during the early stages of learning [4]. Research shows that programming education can enhance students' subjective initiative [21]. Furthermore, students who are more motivated tend to be more interested, while those lacking motivation exhibit less interest, and vice versa. Nevertheless, despite this enthusiasm for programming, student performance in all aspects of programming is suboptimal. Their knowledge base is insufficient, with only a mediocre rating of 3 points; the effectiveness of their programming instruction falls within a moderate range, and their independent learning skills are average at best, requiring ongoing supervision from others. Moreover, students' participation in programming competitions and activities outside of the classroom is limited, which impedes the ability to apply and expand their programming knowledge. Given that programming remains a relatively novel subject area for most primary and secondary school students, their interest in this area is primarily driven by novelty. However, the corresponding educational resources and learning environments are inadequate, resulting in poor performance across other aspects of programming.

Table 9.

Description and analysis of students' basic situation.

Project name N Min Max Average Standard deviation Median
Students interested in programming courses 471 1 5 4.12 0.836 4
Students' basic knowledge of programming 471 1 5 2.90 0.965 3
Students learn about the effects of programming 471 1 5 3.53 0.806 4
The ability of students to learn independently in the process of learning programming 471 1 5 3.43 0.865 4
When students go out to participate in programming competitions or activities 471 1 5 2.93 1.114 3

5.3. The situation of the main factors influencing students to learn programming or programming in the classroom

The implementation of programming education in schools is often fraught with challenges. Various factors can impact not only students' learning but also the introduction of programming into classrooms. As evidenced by Fig. 5, Fig. 6, the programming environment in schools (29.1%) emerges as the most significant factor influencing students' learning, followed closely by family attitudes towards programming education (27.6%) and financial constraints (15.3%). In light of these findings, it is crucial that schools provide students with access to computer hardware and programming software, which are the fundamental prerequisites for learning programming. Moreover, it is incumbent upon families to adopt supportive and understanding attitudes towards programming if they are to facilitate their child's programming education [22]. While the above-mentioned factors predominantly affect students' learning, various barriers can impede the successful integration of programming into the classroom. Specifically, a considerable percentage (35.2%) of teachers believe that the lack of appropriate teachers poses a significant challenge, whereas 18% of teachers cite the inadequacy of a general social environment. Additionally, 27% of teachers contend that a dearth of national policies and curriculum standards represents a significant obstacle to the advancement of programming education. Notably, the United States has made remarkable strides in addressing these challenges. For instance, in 2016, the American Computer Science Association, the Computer Science Teachers Association, the Center for Network Innovation, and the National Center for Math and Science Programs jointly published the K-12 Computer Science Framework for Youth. This framework outlines the core concepts and practices of computer science at the adolescent level and has provided a significant boost to the development of programming education at the primary and secondary levels [23]. Therefore, it is imperative to address issues such as teacher qualifications, national policies, and curriculum standards to promote the growth of programming education.

Fig. 5.

Fig. 5

Frequency analysis of programming influencing factors.

Fig. 6.

Fig. 6

Frequency analysis of factors influencing programming into the classroom.

6. Conclusion

This study examines the present state and challenges associated with programming education in primary and secondary schools, analyzing data from three perspectives: schools, teachers, and students. Following a thorough examination and analysis of the collected findings, it is evident that the current state of programming education in primary and secondary schools is gradually becoming more apparent. The resulting conclusions are listed below.

From the school level: there are some schools that carry out programming education, but the situation is unevenly distributed in various aspects.

According to the findings of the survey, it is evident that programming education has only been implemented in 35.6% of schools at varying intervals. Of these institutions, a staggering 83% are located in urban centers while a meager 17% represents rural schools; thus revealing an alarming disparity in regional distribution. Furthermore, the implementation of programming education varies greatly across different school sections, with 64.3% of elementary schools and 26.8% of secondary schools incorporating such coursework, indicating a significant discrepancy between the two. In terms of curriculum coverage, the majority of schools initiate programming education in lower and middle grades, constituting 59% of the total. Additionally, there is a marked variation in the level of enthusiasm shown by schools for programming education in initial grades, with a discernible decrease in interest as the grade level advances.

Schools are paying more and more attention to it, but the corresponding curriculum construction needs to be strengthened.

In terms of programming education, a recent survey reveals that a majority of schools (65.2%) prefer to offer programming education in the form of extracurricular activities, while 20.8% prefer elective courses, and only 14% offer compulsory courses. Moreover, there is a significant difference in the motivation of schools towards programming education, depending on the type of course offered. Schools offering compulsory courses demonstrate the highest level of motivation, whereas those offering elective courses have the lowest motivation. Regarding teaching materials, a diverse range of sources are utilized in programming education. The most commonly used teaching materials are written by companies and social organizations, accounting for 27.4%, followed by unified teaching materials at 25.3%. Furthermore, 16.3% of schools opt for self-published materials, while 31% of schools do not possess any teaching materials at all. When it comes to programming languages, the mainstream programming languages used in primary and secondary schools are Scratch, Kitten, and Python, which account for 62.8% of the total. Nevertheless, 25.5% of schools use programming languages that are not widely known.

Schools are placing greater emphasis on the overall ability of students.

With respect to the primary assessment methods employed by schools, a notable pattern emerges. Specifically, 32.7% of schools prioritize comprehensive assessments, followed by student-created work (22.7%) and process assessments in classes (21.7%). These findings shed light on the diverse evaluation techniques employed by schools to gauge students' proficiency in programming education. Interestingly, schools' orientation towards programming education appears to hinge significantly on the assessment methods used. Notably, comprehensive assessments and student competition scores occupy the top two spots in terms of motivating factors for schools, while final grades are relegated to the bottom rung. This finding underscores the critical role that assessment methods play in shaping schools' motivation to embrace programming education.

At the teacher level: there is a shortage of educational teachers in programming, but they are more advanced in their philosophy and have a positive attitude towards teaching programming education in a student-oriented way.

Analysis of the survey results reveals that a significant proportion of teachers possess an average level of knowledge pertaining to programming education. Although teachers exhibit varying attitudes towards programming education, the general inclination is positive, with a mean score above 4 (indicating willingness). Most teachers demonstrate enthusiasm for the integration of programming education into their teaching practices. Furthermore, the overwhelming majority of teachers hold progressive pedagogical perspectives and recognize the paramount importance of programming education in fostering students' innovation and design thinking. They firmly believe that programming should be incorporated into modern-day curricula, given its potential to equip students with essential skills and knowledge critical for success in a rapidly evolving technological landscape.

From the student level: students have an imbalanced gender ratio, strong interest in learning, but a weak foundation and poor learning effect.

The survey results reveal a conspicuous gender imbalance concerning the enrollment of male and female students in programming courses, with the former significantly outnumbering the latter. Despite a strong interest among students towards programming education, as evidenced by a mean score exceeding 4.0 (indicating keen interest), students display inadequacies across various aspects of programming learning. For instance, their knowledge base is notably weak, with an average score below 3.0. Additionally, students' programming proficiency is subpar, with most demonstrating only intermediate-level abilities. Moreover, students exhibit an average level of autonomy in the learning process and require supervision from time to time. Furthermore, students report limited opportunities to participate in programming competitions or activities outside of the classroom, which hinders their ability to apply and augment their programming acumen. These findings underscore the need for concerted efforts to address gender disparities and improve programming education, thereby empowering students to excel in this critical area.

In terms of influencing factors: teachers, national policies and curriculum standards for programming education are the most urgent issues to be addressed in promoting the development of programming education.

The survey findings reveal that several factors significantly impact students' programming education. Specifically, 29.1% of teachers believe that the programming environment at school exerts a substantial influence, while 27.6% attribute significant importance to the family's attitude towards programming education. Additionally, 15.3% of teachers identify economic constraints within families as a potential limitation to students' programming education. Furthermore, numerous obstacles impeding programming education were identified by surveyed teachers. Notably, 35.2% of teachers cited a dearth of qualified programming instructors as the primary hindrance to effective programming instruction in schools. Moreover, 18% of teachers attributed inadequate societal support for programming education as another major impediment. Finally, 27% of teachers identified the lack of national policies and curriculum standards as a barrier to promoting programming education across educational institutions. These results indicate the need for improved policy frameworks and curricular standards to support the development of programming education in educational settings. Addressing these challenges can help mitigate the obstacles faced by students and educators alike, ultimately fostering a more supportive and conducive learning environment for programming education.

7. Suggestions and countermeasures

Built on the analysis of the above-mentioned survey data, this study proposes the following recommendations to improve programming education in four aspects: the mechanism of programming education in schools, the standard curriculum system, the corresponding teachers, and the sharing of educational resources.

7.1. Improving the mechanism of programming education in schools

In 2016, the Australian Catholic Schools Office released the Programming K-12 Policy for Young People to aid parochial schools in implementing coding programs. The policy provides a framework for schools to establish mechanisms for collaboration, reflection, and evaluation, with teaching leaders such as principals assuming full responsibility for providing quality learning opportunities and monitoring policy implementation [24]. Given the importance of programming education, schools play a critical role in promoting its widespread adoption. Public schools, in particular, serve as pivotal hubs for advancing programming education across large-scale populations. Under present circumstances, improving school-based programming education is a top priority, necessitating concerted efforts to develop and implement effective pedagogical strategies and policies.

7.1.1. Early development of programming education and improvement of relating to hardware and software equipment

The lower primary education stage represents a crucial period for fostering programming wisdom and promoting logical thinking among students. Schools should promptly initiate programming education and offer programming courses as early as possible, tailored to their unique circumstances. Regarding implementation, schools that have already launched programming education tend to adopt compulsory coursework, while those initiating such education typically provide extracurricular activities like interest classes and clubs— gradually transitioning toward compulsory coursework. To encourage the development of programming education in all conditions, schools should embrace diverse modes of implementation. To ensure effective curriculum assessment, programming must be integrated into unified assessments to draw the attention of parents, students, and teachers. Assessment methods should be diversified and comprehensive, emphasizing the enhancement of students' logical thinking, practical abilities, creativity, habits, and consciousness [25]. A comprehensive assessment methodology based on these considerations can promote a more holistic approach to evaluating student progress. In addition, improving software and hardware equipment for programming education demands priority attention. Although programming subjects have a low threshold and minimal requirements for equipment or software, it is essential to equip the school with special programming classrooms and optimize existing computer rooms to provide students with an optimal learning environment. Furthermore, mainstream programming languages like Scratch and Kitten are recommended for teaching primary school programming, whereas middle schools should use Python, depending on the specific context of each school. Standardizing the programming language within each individual school can facilitate more effective school management, teacher instruction, and improve communication among students.

7.1.2. Introducing girls to programming and encourage students to participate

Learning programming is not biased against any gender. Although it is commonly believed that girls are less interested and perform worse in programming, research has shown that their reflective problem-solving skills can be enhanced through learning to code. In fact, one study found no significant difference in positive attitudes towards programming between boys and girls after learning [3]. Therefore, schools should provide equal opportunities for girls to learn programming, monitor and evaluate their performance closely, and promote their interest and effectiveness in programming education. Moreover, participating in programming competitions can motivate students and enhance their skills. Many countries have been increasingly supporting primary and secondary school programming events as an important way of assessment. Schools should encourage teachers to lead students in participating in such competitions or organizing similar activities to improve the quality of programming education and enrich teaching experience [26].

7.1.3. Integrating programming with other disciplines

In 2018, the White House and the Committee on STEM Education (CoSTEM) jointly released “Charting a Course for Success: America's Strategy for STEM Education,” which advocates for the integration of computational thinking across all disciplines and stresses the importance of providing children with opportunities to cultivate computational thinking in both formal and informal learning environments [27]. Programming education plays a crucial role in developing computational thinking skills, which can guide the learning of other subjects [28]. The deep integration of programming thinking and subject-specific knowledge can be achieved through the connection of content. In developing countries with limited exposure to programming education, integrating programming education into basic disciplines serves as an innovative measure to promote and popularize programming education [29]. Programming education should be integrated with courses such as mathematics, physics, and general technical content to support each other, and programming thinking should also infiltrate other disciplines, including arts, to promote interdisciplinary learning and develop students' computational thinking skills [30]. As a discipline that falls under science and engineering, programming education demands a comprehensive approach that fosters intellectual curiosity and cross-disciplinary collaboration [31].

7.2. Establishing a curriculum system and formulating standards

The slow development of programming education in primary and secondary schools can be attributed, in large part, to the absence of standard curriculum systems [32]. As it stands, programming education is typically limited to extracurricular activities or competitions at select schools, leaving many students without access to this critical skill set. To ensure that programming education becomes more accessible, it must be integrated into national curriculum systems and included as an important knowledge module in the traditional information technology curriculum. This will require the establishment of a complete programming curriculum system that spans from primary school to middle school [33].

In order to develop an effective curriculum system, it is essential to establish clear and specific curriculum standards that are tailored to the needs and abilities of students at different age levels. These standards can then serve as the basis for developing textbooks and teaching materials, ensuring consistency and quality across all schools. By adhering to a principle of national unified curriculum standards while also taking into account local considerations, schools can collaborate with external enterprises to compile programming textbooks that are both comprehensive and relevant [34]. It is worth noting that cultivating programming skills is a gradual process that requires sustained effort over time. By collaborating with external companies and leveraging their expertise, schools can create a learning environment that fosters intellectual curiosity, creativity, and collaboration, all of which are essential qualities for navigating the rapidly evolving landscape of modern technology. With a clear vision and robust support, programming education can become an integral part of the national curriculum system, providing students with the tools they need to thrive in an increasingly complex and interconnected world.

7.3. Strengthening the training of teachers

7.3.1. Universities offer relevant courses for future programming teachers, emphasizing the accumulation of their knowledge and skills

Compared to traditional information technology courses, programming courses demand a higher level of expertise from teachers. Rather than being a standalone subject, programming is an interdisciplinary field that encompasses scientific knowledge, technology, engineering, mathematics, and other domains, necessitating that teachers have a broad range of competencies in areas such as art design and integration. This requirement can present a significant challenge for information technology teachers who may lack the specialized training necessary to effectively teach programming. Unfortunately, there are few dedicated programming education courses offered in colleges and universities that train information technology teachers. Majors such as computer science, educational technology, and general technology typically do not include sufficient programming education training, leading to a dearth of relevant skills or knowledge among future information technology teachers. As a result, newly appointed programming teachers may lack the professional programming training necessary to succeed in the classroom, often relying on self-study to acquire programming knowledge and teaching skills. This haphazard approach can lead to suboptimal learning outcomes for students, while also undermining the confidence of novice programming teachers. The resulting frustration and burnout can ultimately harm the overall quality of programming education, creating obstacles that limit opportunities for both students and educators.

A recent survey conducted in Britain found that 71% of the 86 primary school teachers interviewed believed that they required training on programming teaching knowledge [35]. This indicates that many primary and secondary school teachers lack the necessary knowledge and expertise to effectively teach programming. To address this issue, it is recommended that colleges and universities add professional programming education courses into their teacher training programs for information technology teachers. By equipping regular teachers with the skills and knowledge needed to train future programming teachers, we can improve the overall quality of programming education at the primary and secondary school level [36]. Additionally, local education departments should collaborate with normal colleges and universities to provide targeted and effective programming teacher training programs that cater to the unique needs of each area. Another potential solution is to introduce an intelligent programming tutor system that can help address the shortage of programming teachers in schools. Such systems offer a cost-effective and scalable way to provide high-quality programming education to students, even in cases where there are no qualified programming teachers available [37]. Education departments or schools should also organize training programs for programming teachers, providing new teachers with professional training opportunities to enhance their teaching confidence and effectiveness. With fewer male teachers working in primary and secondary schools, and even fewer engaged in programming education, it is suggested that education departments offer preferential policies and training opportunities to encourage more male teachers to engage in programming education and teaching. By implementing these measures, we can ensure that programming education is accessible to all students and that teachers have the necessary knowledge and support to deliver high-quality programming education. Ultimately, this will enable our students to develop the critical thinking, problem-solving, and creative skills needed to succeed in the digital age.

7.3.2. Network teaching and research to help teachers (groups) professional development

In the new era, programming teachers must possess higher levels of professionalism. In addition to being competent “teachers,” primary and secondary school educators must also be “researchers,” capable of self-reflection and continuously improving their teaching behaviors and abilities to promote professional development. Network teaching and research represents an effective way for programming teachers to transition from traditional teaching roles to more research-oriented positions. With the proliferation of information technology, web-based teaching and research platforms are becoming increasingly popular due to their openness, interactivity, and convenience. These platforms offer a range of advantages, including expert support, peer support, and resource sharing, providing opportunities for programming teachers to engage in regional teacher training, school-based training, and independent development.

Moreover, network teaching and research not only serves as a platform for programming teachers to learn new skills but also acts as an important tool for communication and cooperation among teachers. On these platforms, programming teachers from across the country can come together, share their diverse teaching styles, interests, and abilities, united by a common goal of improving their professional development and enhancing the quality of programming education. Through these online platforms, teachers can openly discuss the challenges they face in their teaching practices, exchange ideas about the latest curriculum reforms, and provide mutual support in problem-solving. As a result, web-based teaching and research plays an essential role in fostering a strong sense of community among programming teachers, promoting communication and collaboration beyond individual schools, and facilitating collective learning and development. Overall, network teaching and research platforms are indispensable tools for the programming teacher community, providing a basis for promoting knowledge exchange, team communication, and professional growth. By leveraging these platforms effectively, programming teachers can stay up-to-date with the latest developments in the field, collaborate with peers, and continuously improve their teaching practices to better serve the needs of their students.

7.4. Drawing on the dedicated class model, teachers and students in urban and rural areas can share quality educational resources

The results of previous surveys indicate significant disparities in the regional distribution of programming education, with a vast majority of schools offering programming education located in urban areas, while only a small percentage of rural schools provide such education due to various factors like economic constraints. This situation leads to a considerable difference in the quality of programming education between urban and rural areas. Therefore, in order to promote equity in education, it is imperative that teachers and students in both urban and rural areas share quality educational resources as much as possible. To facilitate this sharing of high-quality educational resources, dedicated classes using online synchronous instruction can be deployed. These classes allow remote rural schools that lack access to quality educational resources to participate in the same class as urban schools with relatively abundant educational resources, leading to the exchange of high-quality educational resources and an overall improvement in the quality of programming education in rural areas.

Moreover, the data integration and interaction function of the dedicated class platform allows teachers and students from urban and rural areas to interact as if they were in the same classroom, which fosters flipped teaching - a teaching model that rearranges how time is used inside and outside the classroom, thus transferring the initiative of learning from teachers to students. This approach creates a double master teaching model that changes the traditional teacher-centered teaching structure and establishes a new one that fully reflects the main position of students while giving full play to the leading role of teachers. Based on this model, comprehensive reforms in teaching content, mode, methods, and approaches could be gradually introduced. Even during the dedicated class, challenges such as the inability to integrate emotional education, inability to teach according to the material, and inadequate individualized teaching may arise. To address these issues, the dedicated class is equipped with both a lead teacher and a supporting teacher. The lead teacher primarily employs advanced classroom teaching technology to teach remote and local students simultaneously, while organizing student-teacher interactions. The supporting teacher is responsible for classroom teaching services and management, encouraging active student participation in classroom teaching, and addressing individual problems in the classroom.

By complementing each other's strengths in both directions, students become familiar with the teaching mode in the online environment, enabling them to adapt quickly to the new teaching structure and ultimately improve the quality of rural programming education. In summary, the dedicated class bridges the gap in classroom interaction and knowledge transfer for teachers and students from different regions, effectively solving the long-standing problem of the lack of quality programming education resources in rural areas with weak teaching, and finally realizing regular teaching application with integrated lesson preparation, teaching, and teaching research.

8. Summary and prospect

This study examines the state of programming education in primary and secondary schools in China, providing a comprehensive analysis of the current situation at the school, teacher, and student levels. By leveraging actual data and employing methodological tools that are both universal and operable, our research offers targeted strategic suggestions to improve the quality of programming education in these schools. As a result, this study sheds light on the status of programming education in Chinese primary and secondary schools, providing valuable insights into an under-researched area. Notably, our paper's language is plain and simple yet easy to comprehend, reflecting the realistic nature of our findings. Furthermore, our methodology holds great potential for replication or reproduction, enhancing the generalizability of our results.

The limitations and strengths of this study are interdependent, and hence it is imperative to consider some of the limitations that may impact the interpretation and application of the survey results. Firstly, since the sample population comprised only of teachers who had participated in the training, the representativeness of the sample may have been compromised as random or stratified sampling was not used to draw the sample. Future studies can expand the scope of the survey to enhance the representativeness of the sample. Moreover, a description or explanation of the questionnaire should be added to improve its completeness and enable readers to understand the subject matter more comprehensively. In addition, this quantitative research relied on teacher-filled questionnaires and lacked certain aspects of qualitative research. To make this study more holistic, future research could incorporate interviews with school leaders, teachers, students, and even parents to conduct a comprehensive analysis of both quantitative and qualitative factors. Furthermore, Constructivism and Grounded Theory should guide the study to ensure that the research is more robustly founded, justified, and scientifically systematic. Finally, while this study delves into detailed processes, the indicator variables used are somewhat general and not very clear or specific. This suggests that further refinement of the indicators could benefit future studies. Overall, by addressing these limitations and incorporating these suggestions, future studies can build upon this research and extend our understanding of programming education in primary and secondary schools.

In summary, this study provides a basic overview of the status of programming education in primary and secondary schools. Although programming education is becoming increasingly important in these institutions, the overall quality of programming education offerings is suboptimal, and curriculum construction needs improvement. While schools prioritize improving students' comprehensive ability, teachers display a positive attitude towards teaching programming education, and students exhibit high interest in learning, their foundational knowledge is weak and ineffective. Future research should focus on enhancing the mechanism of programming education in schools by improving hardware and software equipment, increasing competition, integrating subjects, establishing a comprehensive curriculum system, strengthening teacher training, and sharing high-quality educational resources. Building upon our research experience and findings, we aim to expand the scope and number of respondents, and rigorously extract representative sample data from various perspectives to ensure scientific rigor. Furthermore, we plan to refine our research goals, identify specific positions for exploration, and investigate crucial factors influencing the effective delivery of programming education in primary and secondary schools. Although global educational policies emphasize the gradual promotion of programming education in primary and secondary schools, it is only through a targeted approach that programming education can be adequately promoted in these institutions by clarifying the current situation of programming education and actively improving it [38].

Author contribution statement

Qizhong OU: Conceived and designed the experiments; Wrote the paper.

Weijie Liang: Conceived and designed the experiments; Performed the experiments; Analyzed and interpreted the data; Wrote the paper.

Zhenni He: Contributed reagents, materials, analysis tools or data.

Xiao Liu: Contributed reagents, materials, analysis tools or data; Wrote the paper.

Renxing Yang: Analyzed and interpreted the data.

Xiaojun Wu: Performed the experiments.

Data availability statement

Data included in article/supp. Material/referenced in article.

Additional information

No additional information is available for this paper.

Acknowledgments

The project is funded by Guangxi Key Lab of Human-machine Interaction and Intelligent Decision, Nanning Normal University. Thanks for the support of this laboratory.

References

  • 1.NMC Horizon Report [EB/OL] [2018-10-05] 2018. http://www.nmc.org/nmc-horizon-news/nmc-and-cosn-release-the-horizon-report-2017-teenagers-edition
  • 2.Hackerbank . 2018. 2017 Developer Skill Report [EB/OL]. [2018-12-12] htttps://research. hackerrank.com/developer-skills/2017. [Google Scholar]
  • 3.Sun D., Li Y. The development status, research hotspots and enlightenment of youth programming education in China in the age of intelligence. J. Distance Educ. 2019;37:47–60. doi: 10.15881/j.cnki.cn33-1304/g4.2019.03.005. [DOI] [Google Scholar]
  • 4.Sun L.H., Wang X.Q. Interpretation, comparison and prospect of the implementation of children's programming education. Mod. Educ. Technol. 2021;31(3):111–118. doi: 10.3969/j.issn.1009-8097.2021.03.015. [DOI] [Google Scholar]
  • 5.Liu X.Y., Ma Q.N. Review on the Development of programming education in Foreign primary and secondary schools. Inform. Techn. Educ. Prim. Sec. Sch. 2020;11:12–14. doi: 10.3969/j.issn.1671-7384.2020.11.004. [DOI] [Google Scholar]
  • 6.Bers M.U. Routledge; New York, United States: 2020. Coding as a Playground: Programming and Computational Thinking in the Early Childhood Classroom. [DOI] [Google Scholar]
  • 7.Tikva C., Tambouris E. Mapping computational thinking through programming in K-12 education: a conceptual model based on a systematic literature review. Comp. Educ. 2020;162 doi: 10.1016/j.compedu.2020.104083. [DOI] [Google Scholar]
  • 8.Lu L.Z., Wang J. Research on current situation of programming education based on content Analysis method. Basic Educ. Res. 2021;1:72–75. doi: 10.3969/j.issn.1002-3275.2021.01.025. [DOI] [Google Scholar]
  • 9.Li Y.G., Liu J. Analysis of the current situation of programming education in primary and secondary schools in China. China Modern Educ. Equipment. 2018;(8):26–29. [Google Scholar]
  • 10.Li G.X., Li R. Research hotspots and future prospects of programming education in China from the perspective of knowledge graph: a Co-lexical analysis and social network analysis based on CNKI literature from 2010 to 2020. The Chinese J. ICT in Educ. 2021;15:28–34. doi: 10.3969/j.issn.1673-8454.2021.08.005. [DOI] [Google Scholar]
  • 11.Wei X.F., Jiang J.F., Zhong H., Han Q. Thinking on the development path of programming education in Primary and secondary schools in China. China Educ. Inform. 2018;24 1-4+9. [in Chinese] [Google Scholar]
  • 12.Yu C.B. Central China Normal University; 2019. Investigation and Research on the Current Situation of Programming Education for Primary and Secondary School Students. ([in Chinese]) [Google Scholar]
  • 13.Lin Yuhan, Weintrop David. 2021. The Landscape of Block-Based Programming: Characteristics of Block-Based Environments and How They Support the Transition to Text-Based Journal of Computer Languages 67101075. [DOI] [Google Scholar]
  • 14.Weintrop D., Wilensky U.J. To block or not to block, that is the question: students' perceptions of blocks-based programming. Interac. Design and Children. 2015 doi: 10.1145/2771839.2771860. [DOI] [Google Scholar]
  • 15.Yasmin B., Kafai, Quinn Burke. MIT Press; Cambridge: 2014. Connected Code: Why Children Need to Learn Programming. [Google Scholar]
  • 16.Zhong B.C., Zhang L. Investigation and analysis on Robotics education in Chinese primary and secondary schools. China Educ. Technol. 2015;7:101–107. [Google Scholar]
  • 17.Wang M.J. Current situation analysis and Countermeasures of programming education for children. Chinese Character Culture. 2020;(22):123–125. doi: 10.14014/j.cnki.cn11-2597/g2.2020.22.059. [DOI] [Google Scholar]
  • 18.Schulte C., Hornung M., Sentence S. ACM; 2012. Computer Science at School/CS Teacher Education: Koli Working-Group Report on CS at School[C]//Koli Calling International Conference on Computing Education Re-search. [Google Scholar]
  • 19.Takashi Matsuda . Technical Review; Tokyo: 2017. Live Broadcast of "Programming Lessons" at Elementary School. [Google Scholar]
  • 20.National Science Foundation . 2018. Bachelor's Degrees Awarded, by Sex and Field:2002-2012 [EB/OL]. [2018-11-08]http://www.nsf.gov/statistics/2015/nsf15311/tables/pdf/tab5-1.pdf [Google Scholar]
  • 21.Luo W.W., Chen H.R., Liu T.E., Ilene R. Berson. The growth, goals, and practice on screen-free programming education: using twitter data for social media research. Dist. Educ. J. 2020;38(5):101–112. doi: 10.15881/j.cnki.cn33-1304/g4.2020.05.011. [DOI] [Google Scholar]
  • 22.Ji J.M., Wang Q. How to make children learn programming better?——review of papert's book the children's machine: rethinking school in the age of the computer. Mod. Educ. Technol. 2021;31(2):118–125. [Google Scholar]
  • 23.K-12 CS K-12 computer science framework [EB/OL]. [2018-11-20] 2018. https://k12cs.org
  • 24.Programming K-12 Policy [EB/OL] [2019-01-10] 2019. https://www.mn.catholic.edu.au/media/2714/programming_K-12_policy_july_2016.pdf
  • 25.Wang X.Q. Learn to code, code to learn——comment on Scratch tutorial launched by harvard university in 2014. Mod. Educ. Technol. 2016;26(5):115–121. [Google Scholar]
  • 26.Shi B.L. Difficulties and solutions of popularizing programming education in primary and secondary schools in the era of artificial intelligence. Teacher Expo. 2021;9:21–22. ([in Chinese]) [Google Scholar]
  • 27.The White House . 2019. Charting a Course for Success: America ’s Strategy for STEM Education [EB/OL]. [2019-04-01]https://www.white-house.gov/wp-content/uploads/2018/12/STEM-Education-Strategic-Plan-2018.pdf [Google Scholar]
  • 28.Sun L.H. Children programming education focusing on thinking literacy: concept, practical path and targe. China Educ. Technol. 2019;7:22–30. [Google Scholar]
  • 29.Sun L., Zhou D. Research status and action path on international children programming education. Open Education Research. 2019;25(2):23–35. doi: 10.13966/j.cnki.kfjyyj.2019.02.003. [DOI] [Google Scholar]
  • 30.Sun L.H., Zhou D.H. Design and construction of scratch-based teaching model for children's programming education: a case of elementary science. e-Educ. Res. 2020;41(6):75–82. doi: 10.13811/j.cnki.eer.2020.06.011. [DOI] [Google Scholar]
  • 31.Fu Q., Zhang M.Y. The educational applications and enlightenments of tangible programming. Mod. Educ. Technol. 2018;28(12):108–114. doi: 10.3969/j.issn.1009-8097.2018.12.016. [DOI] [Google Scholar]
  • 32.Sun D., Li Y. Discussion on the curriculum standard of Chinese youth education. Open Educ. Res. 2019;25(5):99–109. [Google Scholar]
  • 33.Sun L.H., Zhou D.H. The origin and future direction of children's programming education “the gear” and “spirit” of the pioneer of artificial intelligence education. Mod. Educ. Technol. 2019;29(10):12–19. doi: 10.3969/j.issn.1009-8097.2019.10.002. [DOI] [Google Scholar]
  • 34.Li Y. Research on the model of computational thinking-oriented interdisciplinary children's programming education——based on the experience and inspiration of Finnish children's programming education. Mod. Educ. Technol. 2020;30(6):19–25. doi: 10.3969/j.issn.1009-8097.2020.06.003. [DOI] [Google Scholar]
  • 35.Sentence S., Dorling M., Mcnicol A. Springer-Verlag; 2013. Computer Science in Secondary Schools in the UK: Ways to Empower Teachers[C]//Proceedings of the 6th International Conference on Informatics in Schools: Situation, Evolution and Perspectives. [Google Scholar]
  • 36.Sun L.H., Liu S.Y., Li M.M. Study on policy-making framework of learning analytics: based on analysis of SHEILA framework. e-Educ. Res. 2019;40(8):114–120+128. doi: 10.13811/j.cnki.eer.2019.08.014. [DOI] [Google Scholar]
  • 37.Sun F.Q., Feng R. Intelligent tutor system in programming education: architecture, design and application. Dist. Educ. J. 2020;38(1):61–68. doi: 10.15881/j.cnki.cn33-1304/g4.2020.01.006. [DOI] [Google Scholar]
  • 38.Filiz Kalelioglu A new way of teaching programming skills to K-12 students: code.org. Comput. Hum. Behav. 2015;52:200–210. [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

Data included in article/supp. Material/referenced in article.


Articles from Heliyon are provided here courtesy of Elsevier

RESOURCES