Research on Blended Learning Method for College Programming Courses Based on Case-Based Instruction—Taking the Construction of Intelligent Robot Project Based on C51 Microcontroller as an Example

: As a fundamental compulsory course, C language programming is characterized by its numerous and intricate syntax rules, deep theoretical basis, diverse and abstract knowledge points. When using the traditional teaching mode, students generally find the course abstract and difficult to learn, resulting in poor teaching effectiveness. To address the above problems, this paper establishes a task-driven "theory-practice integration" project-based teaching system, with the construction of an intelligent robot project based on C51 microcontroller as the carrier. Through project-based learning, knowledge on the peripheral interface characteristics, internal structure principles, application design methods, and C language programming of the microcontroller are taught to students, so that they can learn by doing and do by learning, completely breaking the traditional teaching methods and system structures, and stimulating students' interest in learning, enthusiasm and initiative, thereby improving the classroom teaching efficiency.


Introduction
C is a general-purpose programming language that is widely used in software development and systems programming. As a result, C is often used as the introductory programming language of choice in programming courses in colleges and universities.
Programming classes in higher education aim to develop students' programming and problem-solving skills, and C, as a structured programming language with a clear syntax and a low level of abstraction, is ideal for beginners to learn the basics and skills of programming [1][2][3][4]. By learning C, students can master basic programming concepts such as variables, data types, control structures, functions and arrays, and learn how to apply these concepts to practical programming. C is often taught as the first programming language in programming classes in universities. Students learn how to design algorithms, solve problems and debug code by writing C programs. In addition, C provides many functions for interacting with the underlying system, such as pointers and memory management. These are important for learning courses such as operating systems, embedded systems and system level programming. Therefore, the study of C also provides students with a solid foundation for further in-depth study and understanding of concepts and techniques related to computer science in advanced courses. In summary, C programming is closely related to programming courses in higher education. As a general programming language, it provides an important platform for students to learn the basics of programming and develop programming skills. By learning C, students can build a solid foundation in programming and lay a good foundation for their further studies and development in the field of computer science.
At present, there have been more studies on the reform of project-based teaching in university courses at home and abroad [5][6][7], and the perspectives of the studies are mainly the following: Firstly, student learning effects: the studies can focus on students' learning outcomes and competence enhancement in the project-based teaching environment. By comparing the learning outcomes of traditional teaching and project-based teaching, the impact of project-based teaching on students' learning outcomes and skills development can be assessed. Secondly, student motivation and engagement: the study can explore students' motivation and engagement in project-based teaching and learning. Understanding students' attitudes and responses to project-based teaching and learning, analysing their level of engagement and participation in projects, and the factors influencing learning motivation, can help optimise project-based teaching design. Thirdly, teacher roles and teaching practices: the study can explore the changing roles and teaching practices of teachers in project-based teaching. Understanding teachers' instructional approaches, student support and assessment methods, as well as the changing roles and challenges of teachers in project-based teaching can help guide teachers' teaching practices in project-based teaching. Fourth, interdisciplinary integration and practical applications: The research can explore the interdisciplinary integration and practical applications of C programming courses with other disciplines. By integrating C programming with other disciplines (e.g. data structures, software engineering, computer graphics, etc.), students' comprehensive application skills and problem-solving abilities can be improved.Fifthly, teaching resources and technical support: the research can focus on the teaching resources and technical support required in project-based teaching. Explore how to effectively provide teaching resources, offer online support and platforms, and use modern technologies (e.g. virtual labs, online communication platforms, etc.) to support the implementation of project-based teaching and learning. Sixthly, assessment and quality assurance: the study can explore assessment methods and quality assurance mechanisms for project-based teaching and learning. Understanding how to assess students' project outcomes, evaluate their teamwork and innovation skills, and design effective assessment tools and criteria can help improve the quality and effectiveness of project-based teaching and learning.
Research from the above perspectives provides a comprehensive understanding of the effects, challenges and directions of C programming in the reform of project-based teaching and learning in university courses. These research perspectives can provide guidance for the practice of project-based teaching and facilitate the continuous development and improvement of project-based teaching reform in C programming courses in the education sector. Through in-depth research, specific teaching strategies and methods can be derived to guide teachers in the design and practice of teaching when implementing project-based teaching.
This paper explores the introduction of practical projects into course teaching by analysing and sorting out job competency requirements and theoretical knowledge systems, and by taking a competency-oriented approach. The project team uses the introduction of intelligent robot project examples based on C51 micro-controllers to reform the traditional teaching process, deepen students' understanding of the basic concepts and application contexts of C programming courses, and enhance their ability to apply C language to solve practical problems. It also enhances students' interest in learning and their ability to learn independently and practice innovatively, making the teaching of C programming more attractive.

The Necessity of Project-based Teaching in Curriculum Instruction
Project-based teaching is necessary in programming courses in universities, especially in the C programming language, in the following ways: Firstly, the enhancement of practical skills: C is a highly practical programming language and students need practical programming exercises to master its basic syntax and application skills. Project-based teaching can improve students' practical skills by providing practical project tasks for hands-on coding practice. Through the implementation of practical projects, students are able to better understand and apply the concepts, syntax and techniques of the C language and develop practical problem-solving skills.
Secondly, the application of integrated knowledge: C programming often requires the integration of knowledge from other disciplines, such as data structures and algorithms. Through project-based teaching, students can integrate the application of C with knowledge from other disciplines to solve practical problems. For example, a simple C-based graphics processing programme can be designed to combine knowledge of computer graphics with students' understanding and application of graphics algorithms, data structures, etc. Such integrated application helps students to fully grasp the skills of C language and enhance their interdisciplinary thinking skills.
Thirdly, the development of teamwork and communication skills: teamwork and communication are very important skills in practical software development projects. Through project-based teaching, students can be organised to work in groups to complete project tasks, so that they can learn to divide and cooperate, communicate and coordinate effectively in a collaborative manner. Such teamwork development helps students to work with others in their future jobs, improving their soft skills and professionalism.
Fourthly, the development of creative thinking: project-based teaching encourages students to use creative thinking in practice. Through the design and realisation of projects, students can be faced with a variety of problems and challenges that require the use of innovative thinking to solve problems. This innovative thinking helps students to develop the ability to solve complex problems and to enhance their creativity and innovation.
Fifth, motivation: traditional classroom teaching often lacks sufficient real-world application scenarios, which can easily discourage students from learning. Project-based teaching provides real-life project tasks and challenges, which can motivate students. Students can experience the practical application and results of programming through project-based teaching, which can enhance their interest and motivation in C programming and make them more active and involved in learning.
Sixth, the combination of practice and theory: project-based teaching combines theoretical knowledge with practical application. Students are not only required to understand the concepts and syntax rules of C in their projects, but also to apply them to practical projects. Through practice, students are able to gain a deeper understanding of the practical application of theoretical knowledge, as well as identifying and solving problems encountered in practice. This combination of practice and theory helps to enhance students' learning outcomes and improve their abilities.
Seventhly, problem-solving skills are developed: C programming often involves solving various problems and debugging errors. Through project-based teaching, students will be faced with different challenges and problems that require them to apply their knowledge and skills to analyse and solve. Such a hands-on environment develops students' problem-solving skills and enables them to think independently and solve the difficulties encountered in practical programming.
In summary, project-based teaching is necessary in C programming courses in universities. It can improve students' practical skills, develop comprehensive application skills, promote teamwork and communication skills, cultivate creative thinking, stimulate motivation to learn, achieve integration of practice and theory, and develop problem-solving skills. Through project-based teaching, students are able to acquire comprehensive knowledge and skills in C and are better equipped to meet future programming challenges.

Construction of Project-based Teaching Curriculum System
Through in-depth research on domestic robot enterprises, we understand the industry's demand for talent's knowledge structure, skill level, and professional behavior habits, and translate it into teaching content. We focus on the logical construction rules of knowledge and ability with professional job competency requirements as the core, guided by work processes. In actual course teaching, we use the C51 microcontroller to build intelligent robot projects as the main line, fully integrating students' professional foundation and learning abilities, developing project content, and formulating teaching methods and evaluation plans. In addition, through the analysis of the current learning situation of university students, we have developed a project-based teaching curriculum for C language programming, as shown in Figure 1. The newly established course system in Figure 1 involves three modules: the development of an intelligent robot project based on the C51 microcontroller, teaching of course knowledge and project implementation, and course evaluation. The modules are interrelated. Project development is based on job requirements and involves a systematic analysis of theoretical knowledge and professional skills requirements to develop a course teaching project. Project implementation focuses on cultivating students' comprehensive abilities and is based on a teaching philosophy that emphasizes student-centeredness and teacher-led instruction, with an emphasis on developing students' professional knowledge, skills, beliefs, and work habits. Course evaluation is a critical link to ensure teaching quality, and scientific and reasonable course evaluation can fully reflect the rationality of project development and implementation.
In the course system development process, project development is the overall design of the course by the teacher. The teaching goal of the course is to use AT89S52 as the brain of the robot to create an educational robot and to program the AT89S52 using the C language, enabling the robot to perform four basic intelligent tasks: (1) installing sensors to detect the surrounding environment; (2) making decisions based on sensor information; (3) controlling the robot's movement (by operating the motor that drives the wheels); and (4) exchanging information with users. Each project consists of task assignment, plan development, task implementation, and project evaluation. Solutions should be proposed for any problems that arise during project implementation, with an emphasis on enhancing students' initiative and innovation in learning.

Conclusion
Compared with traditional teaching methods, the project-based teaching method emphasizes more on project design, guided by enterprise demands, centered on analyzing student situations, and based on school teaching conditions. It reconstructs the project-based teaching course system for C language programming, establishes a theory-practice integrated teaching model, and integrates virtual simulation technology to strengthen students' theoretical learning, robot operation and programming skills, stimulate their learning interest, and improve their learning outcomes.