Reform of Embedded Development Course Teaching

This article was published in the July 2024 issue of Times Education (Issue 15)

Topic: This article is the research result of the “Project-based Teaching” reform project at Guilin University of Information Technology in 2022, titled “Teaching Reform of Embedded System Design Courses Based on ‘BMI Index Detector'” (2022XMY01).

To address the disconnect between theory and practice in embedded development courses and the lack of hands-on skills among students, this article implements a “project-oriented, task-driven” teaching model, centering on the “BMI Index Detector” project, integrating course content with practical projects. This model strengthens students’ engineering design thinking and problem-solving abilities through project practice, enhances their ability to apply theoretical knowledge of embedded systems, and aligns more closely with the hiring needs of enterprises.

General Secretary Xi Jinping emphasized at the Central Talent Work Conference that to do a good job in talent work in the new era, we must adhere to the principle of party control over talent, focus on the world’s technological frontier, the main economic battlefield, major national needs, and people’s health, implement the talent strategy for a strong country in the new era comprehensively, cultivate, introduce, and utilize talent effectively, accelerate the construction of a world-class talent center and innovation highland, support the basic realization of socialist modernization by 2035, and lay a solid talent foundation for building a modern socialist country by 2050.

As a major country in engineering education, China has established the world’s largest engineering education supply system. However, the current phenomenon of “engineering disciplines becoming more like science disciplines” in some universities has led to “companies unable to find talent,” creating an urgent need for “high-tech talent capable of solving real industrial problems” to address critical technological challenges.[1-2]The Information Engineering College at Guilin University of Information Technology has always adhered to the fundamental task of cultivating virtue and talent, focusing on training applied engineering talents capable of solving complex engineering problems. In embedded development courses, we adopt a “project-oriented, task-driven” training model, starting from engineering and returning to engineering to reconstruct the curriculum system, emphasizing the intersection and integration of theory and practice in course teaching, and striving to cultivate students’ ability to solve complex problems and innovate.

1. Current Issues in Embedded Development Course Teaching

Embedded development courses are highly practical and particularly emphasize the cultivation of students’ hands-on skills and knowledge application abilities. Students need to understand the basic concepts of embedded systems, master the methods of software and hardware development, and possess engineering design thinking, integrating embedded system design with knowledge from other disciplines to apply what they learn.[3]However, a systematic analysis of recent teaching effectiveness reveals several issues in the “teaching and learning” process.

(1) Disconnect Between Theoretical Teaching and Practical Application

Some instructors lack practical experience in enterprises and fail to keep up with the latest technological developments, resulting in classroom teaching leaning towards theoretical explanations while neglecting the application of knowledge points and the integrated design of knowledge points.[4]Embedded development is a highly comprehensive course. In the current teaching model, students learn the principles and functions of various peripheral modules but lack systematic design thinking and do not understand how to integrate different peripheral modules into a complete system. In actual engineering projects, a complete system consists of multiple modules that are not independent and involve some related logical relationships. The main reason is the lack of actual projects as teaching carriers in teaching, making it impossible to link various knowledge points, resulting in students being unable to apply what they have learned.

(2) Insufficient Ability of Students to Articulate and Solve Problems Independently

In the practical application of embedded development, students often face complex problems that were not anticipated in class, which poses a challenge to their ability to independently identify and propose solutions. However, the first step in problem-solving—accurately articulating the problem—is a major shortcoming for some students. These students often describe problems vaguely and confusingly, remaining perplexed after listening to lectures and unable to quickly identify the core of the issue.

The vagueness in problem articulation not only hinders effective communication but also highlights students’ deficiencies in problem analysis and handling abilities. When faced with difficulties, students tend to passively wait for direct guidance from teachers rather than proactively exploring the essence of the problem, analyzing potential causes, and formulating and attempting solutions. This excessive reliance on others is detrimental to cultivating students’ autonomous learning abilities and adaptability to unknown problems.

(3) Insufficient Hands-on Skills Among Students

In a teaching approach that emphasizes theory over practice, some students lack sufficient practical operation opportunities during their learning process, resulting in inadequate training in hands-on skills and problem-solving abilities. Although some students can understand and master relevant theoretical knowledge in class, they often become confused and unsure of how to start when faced with specific and complex practical development tasks due to a lack of practical operational experience and problem-solving practice. This is evident in hardware operation aspects, such as circuit construction and sensor debugging; it is also reflected in software programming and system integration, such as code writing, program debugging, and system optimization; when faced with actual problems, some students lack effective troubleshooting abilities. These issues reveal the deficiencies of some students in hands-on practice and problem-solving abilities.

2. Teaching Model Design

(1) Project-Oriented Teaching Method

In embedded development teaching, we practice the concept of starting from engineering and returning to engineering, integrating a practical enterprise project—the “BMI Index Detector”—into the course teaching. This serves as the main thread throughout the teaching, breaking the project down into a series of related sub-tasks to ensure that each knowledge point can naturally integrate into the tasks. Students can not only intuitively understand the application of theoretical knowledge in practice but also actively apply what they have learned to build unique solutions through hands-on project practice. This “combination of learning and doing, doing and learning” method effectively enhances student participation and learning outcomes, helping students master embedded development knowledge more deeply.

(2) Task-Driven Teaching Method

Centered around the “BMI Index Detector,” this course constructs three closely connected and challenging task modules. These tasks encourage students to apply the theoretical knowledge learned in class to real engineering projects, thereby enhancing the practical application of knowledge and innovative capabilities. Throughout the entire course project, students will be responsible for completing multiple tasks, including hardware selection, sensor integration, data collection, algorithm development, and user interface design. Students can flexibly apply their knowledge to different contexts through analogy and reasoning, thus enhancing their comprehensive skills and practical operation abilities in embedded system development.

3. Implementation Path for Embedded Development Course Reform

(1) Integration and Reconstruction of Course Content and Practical Projects

In the cultivation of capabilities for embedded development, the course focuses on the following core knowledge points to ensure students master them solidly.

Development of peripheral devices for the STM32F429 series processors. In-depth exploration of the principles, configuration, and programming skills of key peripherals such as GPIO, TIMER, UART, ADC, SPI, and IIC, cultivating students’ skills in proficiently applying hardware resources.

Application of real-time operating systems. Focus on how to create and manage threads in the RT-Thread environment and how to use synchronization mechanisms such as semaphores and mutexes, cultivating students’ professional qualities in building efficient concurrent systems.

File system transplantation. Detailed explanation of the transplantation process of the FatFS file system, including its adaptation and optimization in embedded environments, as well as basic operations such as file creation, reading, writing, and deletion, ensuring students can achieve reliable data storage management.

User interface design. Systematic teaching of interface layout, text and image display, key interaction methods, and the logic of writing callback functions, cultivating students’ ability to design intuitive and user-friendly embedded interfaces.

The key to the course reform is to deeply integrate the above theoretical knowledge with the design and development process of the practical project “BMI Index Detector.” The course uses this product project as a carrier to comprehensively demonstrate the complete engineering path from requirement analysis to product realization, ensuring that each knowledge point can find specific application scenarios in the project. By analyzing each link of the “BMI Index Detector” project in detail, students can not only deepen their understanding of the internal logic and functional realization of theoretical knowledge but also personally experience how knowledge is transformed into actual products.

(2) Problem Handling and Recording During Project Development

Various problems often arise during the project development process. Therefore, during the design phase, it is essential to document the problems encountered in detail, including descriptions of the phenomena, clear statements, analysis paths and methods, and final solutions. Typically, when the project design scheme is presented to students, it appears in a relatively complete form. However, students often cannot understand the specific difficulties encountered during the design process, making it harder to grasp the logical analysis of problems and the resolution process. Therefore, establishing a project development problem record book is crucial.

This record book can assist course teaching by timely listing examples of problems encountered based on relevant knowledge chapters, guiding students to think independently and solve problems based on course content. Subsequently, teachers can comprehensively reveal the complete process from identifying to solving these problems, allowing students to understand and learn in depth. This approach can effectively enhance students’ ability to face and handle complex problems, enabling simultaneous training and improvement in theoretical learning and practical operation.

(3) Student-Selected Project Design

Teachers rely on actual engineering projects to carry out teaching, ensuring that students can closely connect systematic learning with engineering practice. When designing self-selected projects, the difficulty should be set at a level comparable to graduation projects, and the project themes must closely align with the knowledge points taught in class. In this teaching session, students work in groups of three to complete three self-selected design projects.

Project 1: Construction of an Intelligent Home Control System Based on RT-Thread Real-Time Operating System. Focused on software-level design, using a “core development board paired with peripheral functional modules” architecture. The system must integrate the FatFS file management system and LVGL, UI interface, to support multi-page interaction. Hardware configuration includes human infrared detection module, smoke sensing module, temperature and humidity monitoring module, relay control module, light intensity detection module, Wi-Fi communication module, etc., to achieve intelligent monitoring and remote management of the home environment.

Project 2: Design of an Intelligent Greenhouse Control System Based on RT-Thread Real-Time Operating System. Focused on software guidance, with hardware combining core development boards and various expansion modules. The system must be equipped with the FatFS file system and LVGL graphical interface to realize multi-page monitoring and regulation of greenhouse environments. Hardware components include temperature and humidity sensors, light intensity probes, smoke alarms, human infrared sensors, relay control units, Wi-Fi communication modules, enhancing the intelligence of greenhouse planting through precise environmental perception and automated control.

Project 3: Development of an Attendance Management System Based on RT-Thread Real-Time Operating System. Focused on software development, using a core development board to integrate various hardware modules. The system integrates the FatFS file system and LVGL, UI framework, to realize multi-page attendance data management and visual display. Required hardware resources include RFID card readers, fingerprint recognition modules, Wi-Fi communication modules, building an efficient, secure, and user-friendly modern attendance management system.

All three projects require the use of the RT-Thread real-time operating system as the software development platform, and at the hardware interface layer, students must master various peripheral interface technologies of the STM32F429 microprocessor, such as GPIO, UART, SPI, IIC, ADC, TIMER, LTDC, etc. These knowledge points are also key content in course teaching. Through project practice, students can deepen their understanding of embedded system theory and enhance their ability to apply learned knowledge to solve complex problems in actual engineering environments.

(4) Phased Task Setting

The course teaching takes the entire project design process as an example, including project requirement analysis, scheme design, design process, and acceptance testing stages. Student-selected projects are divided into multiple phases, with corresponding tasks and goals set for each phase, gradually increasing task complexity to improve students’ hands-on operational abilities.

Phase One Task: Form project groups, determine self-selected project topics, research relevant product functional indicators and requirements, and write a “Project Design Requirement Analysis Report” to gain a deep understanding of project requirements and clarify the necessary knowledge points.

Phase Two Task: Group discussion and teacher guidance, refer to relevant materials based on functional requirements, and write a “Detailed Project Design Scheme” to analyze the requirement implementation scheme from a system perspective, mastering the application methods of knowledge points. Under teacher guidance, continuously develop and improve project functional modules, ultimately integrating to realize the overall project functionality. Document problems and analysis methods during the design process to enhance problem-solving abilities in project design.

Phase Three Task: Complete project functional testing, write a “Project Summary Report,” summarizing the practical application of learned knowledge points and reviewing and summarizing the entire project.

(5) Improvement of Evaluation Mechanism

Students can form teams freely, with each group consisting of three members, collectively discussing and selecting a team leader. The team will collaboratively complete tasks such as related material research, document writing, project hardware circuit setup, and software code writing. To comprehensively evaluate students’ learning outcomes, the course adopts a diversified evaluation approach, including project outcome assessment, theoretical knowledge tests, practical skill assessments, process records and reflection reports, group evaluations and self-evaluations, as well as oral presentations and defenses. The assessment method for this course includes 40% for theoretical assessments and 60% for project acceptance (of which 25% for project functional acceptance, 20% for document writing, 10% for acceptance questioning, and 5% for group evaluation).

This course’s teaching reform validates the effectiveness of the “project-oriented, task-driven” teaching model in embedded development courses. Students have made significant progress not only in professional knowledge and skills but also in problem-solving, teamwork, communication, and self-management capabilities. In the future, this course will continue to optimize course content and teaching methods, continuously explore projects that align with industry needs to cultivate more high-quality applied engineering talents. (The author is an engineer at the Information Engineering College of Guilin University of Information Technology.)

Note: [1] Su Haijia, Zhang Ting, Tan Tianwei. Innovation and Practice of Practical Teaching Reform Based on Integration of Science and Education and Real Engineering Experience—Taking Beijing University of Chemical Technology as an Example [J]. China University Teaching, 2024(03): 8-11+24.

[2] Geng Min, Ai Qinghui, Sun Yanru, et al. Exploration of Teaching Reform in Electrical and Electronic Experiments Based on Task Orientation and Problem Driven [J]. Heilongjiang Science, 2020, 11(21): 16-17.

[3] Xie Jiazhu, Zhang Cuiping, Zhang Baoju. Exploration of Teaching Reform in Embedded Systems Oriented to Practical Applications [J]. University, 2020(44): 121-123.

[4] Ding Cheng, Lu Shibin. Design of Teaching Practice Cases for Embedded Systems Oriented to Engineering Applications [J]. Journal of Changchun University, 2023, 33(10): 99-104.

Leave a Comment