0 Introduction
The report of the 20th National Congress of the Communist Party of China clearly states: “Education, technology, and talent are the foundational and strategic support for the comprehensive construction of a modern socialist country”[1]. Since 2017, the Ministry of Education has actively promoted the construction of new engineering disciplines, raising new and higher requirements for talent cultivation. In February 2022, the Ministry of Education announced the implementation of the digital education strategy action plan, aimed at integrating digital technology into all aspects of education, promoting comprehensive innovation and reform in teaching paradigms, organizational structures, teaching processes, evaluation methods, and more[2]. Digital technology has become an important support for improving the quality and efficiency of educational reforms, optimizing teaching content design, and cultivating high-quality innovative talents in technology. Digital education has become a vital way to understand students’ learning characteristics, construct knowledge maps, formulate personalized learning paths, and enhance learning effectiveness.
Programming courses are fundamental courses for computer majors and play a crucial role in cultivating students’ computational thinking, engineering thinking, and practical innovation abilities. However, the course content is often dry, the teaching model is singular, and the methods are outdated, leading to low student engagement, initiative, and creativity, resulting in poor learning outcomes. Project-based learning and flipped classrooms have long attracted the attention of educators. Some scholars in China have attempted to organically combine the two and apply them to specific educational practices, such as in marketing management, college English, digital electronic technology basics, and virtual reality technology courses, but there have been few applications in programming courses.
1 Integration of Project-Based Learning and Flipped Classroom in Programming Courses
1.1 The Connotation of Project-Based Learning and Flipped Classroom
Project-based learning is a constructive way of teaching and learning, where teachers turn students’ learning tasks into projects, guiding students to pose questions based on real situations and conduct research, design, and practical operations using relevant knowledge and information, ultimately solving problems and presenting and analyzing project outcomes[3]. This teaching method is student-centered and emphasizes the enhancement of critical thinking, communication and coordination skills, knowledge application abilities, and collaborative innovation capabilities during the learning process.
The flipped classroom is a subversion of the traditional classroom. Overall, the educational process includes two stages: knowledge transmission and knowledge internalization. In traditional classrooms, knowledge transmission is completed through teacher lectures in class, while knowledge internalization is achieved by students through homework, operations, or practical exercises after class. In contrast, the flipped classroom primarily completes knowledge transmission before class with the aid of information technology, while knowledge internalization occurs during class with the help of teachers and peers[4].
1.2 Analysis of Traditional Programming Course Teaching
Programming courses in higher education involve a large body of knowledge, high content relevance, and strong technical practicality, requiring students to possess systematic thinking, logical thinking, and design thinking. Currently, traditional programming course teaching faces three prominent issues: ① The teaching process typically follows the steps of “concept-algorithm-syntax” and allows students to practice the content covered in class through assignments, focusing on knowledge transmission while neglecting the cultivation of programming and code debugging abilities; ② In recent years, the rapid increase in student enrollment has led to severe compression of class hours for specialized courses, forcing teachers to rush through major knowledge points, resulting in insufficient interaction and communication between teachers and students; ③ Course content is often dull, abstract, and singular, making it difficult for students to understand within a short time, leading to confusion during class and perfunctory completion of homework, resulting in low engagement and poor learning outcomes.
1.3 Analysis of the Fit
The “Project-Based + Flipped Classroom” teaching model sets the teaching content as several projects, designing learning objectives and content based on project themes, dividing the learning process into phases according to project implementation methods, and advancing the teaching process according to project management modes. It also emphasizes completing pre-class learning and communication, in-class discussions and sharing, and post-class reviews and reflections based on students’ characteristics, styles, abilities, and conditions. The organic combination of the two can ensure effective organization and management of learning content and groups during the teaching process, fully stimulate students’ enthusiasm for learning, promote communication, and enhance learning abilities, thereby addressing the issues of singular teaching models, short class hours, and low student participation that have led to poor learning outcomes in traditional programming courses, while also discovering and developing each student’s strengths[5], facilitating their personalized learning. Therefore, the “Project-Based + Flipped Classroom” teaching model is highly compatible with programming courses.
2 Teaching Design of Project-Based + Flipped Classroom
2.1 Project Design
Taking the textbook “Deep Learning Application Development – TensorFlow Practice” edited by Professor Wu Minghui from Zhejiang University City College as an example, this section illustrates the teaching process of the TensorFlow application development course. The course consists of 48 class hours, with 24 hours for theory and 24 hours for experiments. Considering the overall arrangement of specialized courses, students’ ability levels, hardware environment conditions, and other factors, the first 9 chapters of the textbook (out of a total of 15 chapters) will be primarily taught.
In the first 9 chapters, chapters 1, 2, and 3 cover foundational knowledge, while programming design teaching begins from chapter 4. Focusing on the characteristics of knowledge and application, the content of the remaining 6 chapters is set as five projects: single-variable linear regression, Boston housing price prediction, MNIST handwritten digit recognition, Titanic passenger survival probability prediction, and CIFAR-10 image recognition. Each project is divided into five sub-projects: data preparation, model construction, model training, model evaluation, and model application (as shown in Figure 1).
Figure 1 Course Project Design
2.2 Teaching Mode Design
To achieve higher goals within limited classroom time and promote student learning and individual development, the teaching design of the “Project-Based + Flipped Classroom” is guided by Bloom’s taxonomy of educational objectives, primarily including three stages: pre-class, in-class, and post-class (as shown in Figure 2), with the entire learning process supported by platforms such as Cloud Classroom, Rain Classroom, Chinese MOOCs, and QQ.
Figure 2 Framework of the “Project-Based + Flipped Classroom” Teaching Model
(1) Pre-class stage: The main tasks for teachers include determining learning objectives, forming cooperative groups, breaking down case projects, issuing learning tasks, preparing learning resources, and formulating evaluation criteria; students’ main tasks include claiming tasks, searching for materials, self-learning, collaborative learning, self-evaluation, and group evaluation.
(2) In-class stage: This stage primarily occurs in the classroom, remaining student-centered, using participatory, heuristic, and discussion-based teaching methods to further internalize students’ understanding of course content, including elements such as sharing results, providing feedback and scoring, focusing explanations, discussing and exploring, summarizing and concluding, and individual tutoring. Teachers’ main tasks are to answer questions, guide, and evaluate, while students’ main tasks are to share, ask questions, discuss, and explore.
(3) Post-class stage: Teachers reflect on the entire teaching process, summarize students’ questions, and adjust and optimize teaching plans in a timely manner[6]; students need to review and summarize the knowledge points learned and complete post-class assignments.
2.3 Evaluation Methods
The course adopts a combination of formative and summative evaluations, with a greater emphasis on formative evaluation. The course assessment includes “final project + regular performance + experiment performance”, with the final project accounting for 30%, regular performance for 40%, and experiment performance for 30%. Regular performance is assessed through a multi-dimensional evaluation approach, incorporating aspects such as pre-class learning, group collaboration, class attendance, result sharing, questioning, discussion, and assignment completion, assessing not only the knowledge and skills learned but also students’ learning attitudes[7]. Additionally, evaluations are conducted through multiple evaluators, including students, groups, and teachers, forming a multi-faceted formative assessment.
3 Teaching Practice Application Effect Analysis
To evaluate the teaching effectiveness, a comparison was made between 111 students from classes 30-33 and 111 students from classes 34-37 of the 2021 Computer Science and Technology major, where the former implemented the “Project-Based + Flipped Classroom” teaching model while the latter adopted traditional teaching methods. The effectiveness of the “MNIST Handwritten Digit Recognition” project was assessed using a combination of questionnaires, tests, and practical exercises.
3.1 Questionnaire Survey
A questionnaire was designed around personal circumstances, learning interests, learning resources, and knowledge sharing, and a survey was conducted on 111 students from classes 30-33 of the 2021 cohort using the Cloud Classroom platform (with a 100% response rate), and the results were statistically analyzed. The analysis revealed the following effects.
(1) In terms of teaching model, 85% of students found this model very interesting, and 90% felt they gained something, with the biggest gain being the ability to bring questions discovered during pre-class self-study to class, significantly enhancing learning outcomes; additionally, students reported improved courage and expression skills (the survey showed that only 11% of students were extroverted, while 30% were introverted, and many were reluctant to raise their hands to answer questions); thirdly, they believed their self-learning abilities had improved and developed a strong interest in the course content.
(2) Regarding learning resources, 53% preferred video resources, with most favoring short videos; 43% liked “text + animation” resources.
(3) In terms of interaction, 80% of students participated in group discussions and solved some problems discovered during pre-class learning through collaboration, with remaining issues addressed in class.
(4) Regarding task difficulty, since learning tasks were assigned based on students’ knowledge and ability levels, 90% of students reported the difficulty was appropriate.
3.2 Classroom Testing
Using the Cloud Classroom platform, an online test was created based on key knowledge points from chapter six, comprising 10 questions (each worth 1 point), covering topics such as data normalization, one-hot encoding, and logistic regression model construction. After one week, self-assessments were conducted in both teaching classes. The results are shown in Figure 3.
Figure 3 Results of the Random Test for Chapter Six
The results show that 81% of students in classes 30-33 scored above 6, while only 50% of students in classes 34-37 did. This indicates that the “Project-Based + Flipped Classroom” teaching model effectively promotes the internalization and solidification of course knowledge.
3.3 Practical Experiments
In the “Logistic Regression Modeling for MNIST Handwritten Digit Recognition” experiment, three hierarchical experimental objectives were set from easy to difficult, requiring students to independently complete coding practices. The first goal was to implement data loading, feature data normalization and dimensionality reduction, one-hot encoding of label data, construct a single neuron logistic regression model, train the model, and apply the model. Completing this goal met the basic experimental requirements; the second goal was to improve model accuracy by adjusting hyperparameters such as learning rate, batch size, and training epochs, which required deeper understanding and flexible application of classroom knowledge; the third goal was to further enhance model accuracy by increasing the width and depth of the neural network, which required students to research independently and try repeatedly. The completion status of the experiments in both teaching classes is shown in Figure 4.
The results indicate that the vast majority of students in both classes completed the first experimental task. For the second task, 70% of students in class 34-37 completed it, while 80% in class 30-33 did. For the third task, only one student in class 34-37 completed it, while 10 students in class 30-33 did. This suggests that the “Project-Based + Flipped Classroom” teaching model effectively promotes a deeper understanding and retention of knowledge, achieving knowledge transfer, internalization, and application. Compared to traditional teaching models, students under this teaching model exhibit greater courage to overcome difficulties and more effective problem-solving methods.
Figure 4 Completion Status of the Experiment for Chapter Six
5 Conclusion
To adapt to the new changes and characteristics of the intelligent era and respond to the call of the national digital education strategy to cultivate talents that meet the requirements of “new engineering”, we have explored and researched teaching reforms for programming courses in the Computer Science and Technology major, specifically focusing on TensorFlow application development. By adopting the “Project-Based + Flipped Classroom” model and utilizing software platforms such as Cloud Classroom, Rain Classroom, and Tencent QQ to assist offline teaching, we have achieved good results. However, we have also identified some problems and shortcomings: ① Pre-class learning tasks are not sufficiently detailed; for example, when tasked with understanding the function of a certain function, some students with lower initiative only grasped the function’s purpose without clarity on parameter settings; ② Pre-class learning resources mainly consist of MOOCs and CSDN posts, lacking local resources that match our students’ ability levels; ③ Evaluation criteria are coarse, not systematic or complete enough to accurately assess students’ knowledge and ability levels. Moving forward, we will further improve and refine course design, expand the range of experimental classes, involve more teachers in the course reform, and promote the results of the teaching reform in other programming courses.
[1] Baidu. Education, Technology, and Talent as the Foundation for Building a Modern Socialist Country – A Comprehensive Study of the Spirit of the 20th National Congress of the Communist Party of China[EB/OL]. (2022-11-25)[2024-01-05]. https://baijiahao.baidu.com/s?id=1750412178665203848&wfr=spider&for=pc.
[2] Zhu Zhitian, Hu Jiao. The Practical Logic and Development Opportunities of Educational Digital Transformation[J]. Research on Educational Technology, 2022(1): 21-27.
[3] Pengpai. Yang Mingquan: Project-Based Learning in the Core Competency Era[EB/OL]. (2022-09-15)[2024-01-05]. https://m.thepaper.cn/baijiahao_19917154.
[4] Zhang Jinglei, Wang Ying, Zhang Baohui. Research on the Flipped Classroom Teaching Model[J]. Journal of Distance Education, 2012(4): 46-51.
[5] Hu Ye. Enhancing Information Literacy through Problem Solving: An Inquiry into Project-Based Teaching of VB Programs from the Perspective of Problem Solving[J]. Basic Education Curriculum, 2019(Supplement 1): 110-116.
[6] Song Chaoxia, Yu Qiding. Research on the Project-Based Teaching Model Based on the Flipped Classroom[J]. Journal of Distance Education, 2014, 32(1): 96-104.
[7] Lan Tiancai, Chen Zhenwu, Huang Jing, et al. Research on the Python Programming Teaching Model Integrated with OBE and CDIO[J]. Computer Times, 2022(3): 98-103.
[8] San Xiaoli, Cui Hongxia. Exploration of Teaching Reform in College Computer Programming Courses[J]. China Educational Informatization, 2010(9): 66-67.
[9] Yao Lan, Zhou Yunge. Construction of a Flipped Classroom Teaching Model for Japanese Based on Bloom’s Taxonomy[J]. Journal of Guiyang University (Social Sciences Edition), 2022(12): 100-104.
(End)
More Highlights:
Boao Releases Strong Voices in Education | CIE2023 Fifth China IT Education Boao Forum and the 20th Anniversary of the Journal of Computer Education Successfully Concluded
2024 China Higher Education Computer Education Conference (CCEC2024) Call for Papers
New Year Message from the Seventh Editorial Committee
Teaching Guidelines for Ideological and Political Education in Computer Courses
Academician Chen Guoliang | Cultural Construction of the Virtual Research Room for Ideological and Political Education in Computer Courses
Professor Chen Daoxu from Nanjing University | Dialectics in the Learning Process: Change and Constancy
Yan Shi | Reflections and Suggestions on the “Predicament” of Young Teachers in Colleges and Universities
Xiao Fei et al. | Education in the Metaverse and Its Service Ecosystem
【Contents】 Journal of Computer Education, 2024 Issue 1
【Contents】 Journal of Computer Education, 2023 Issue 12
【Editorial Message】 Professor Li Xiaoming from Peking University: Reflections on the “Year of Classroom Teaching Improvement”…
Professor Chen Daoxu from Nanjing University: Which is more important, teaching students to ask questions or teaching students to answer questions?
【Yan Shi Series】: Trends in the Development of Computer Disciplines and Their Impact on Computer Education
Professor Li Xiaoming from Peking University: From Interesting Math to Interesting Algorithms to Interesting Programming – A Path for Non-Majors to Experience Computational Thinking?
Reflections on Several Issues in Building First-Class Computer Disciplines
New Engineering and Big Data Major Construction
Learning from Others: A Compilation of Research Articles on Computer Education at Home and Abroad