Teach real-time embedded system online with real hands-on labs
Authors: Kai Qian, Jigang Liu, Lixin Tao
Venue: ACM SIGCSE Bulletin (2009)

In recent years, embedded systems are becoming increasingly important due to their wide applications in every aspect of our society. By the year 2010, it is forecasted that 90% of the overall program code developed will be for embedded computing systems. The rapid growth of embedded systems results in a shortage of professionals for embedded software development. Despite the high need of embedded system professionals, embedded system is currently not well represented in academic programs. In offering such courses many schools face the challenges of the lack of suitable and affordable labs and scarce dedicated staff and faculty. Suitable embedded software design textbooks are also in demand. We are developing an interdisciplinary online junior level course Embedded Systems Analysis and Design with a companion textbook and labware to meet the challenge. We know that embedded system design and development course is a project based learning course which students must have hands-on lab practice to gain the experience of hardware and software co-design and development. How to offer such a course online without a campus lab? How to make this online course as effective as an on-campus course? How to make the lab affordable to the students? How to make the labs a realistic hands-on lab instead of simulation labs as many online courses are providing? In this paper we report our experience in developing such a hands-on lab based online course.We select the C8051F005DK development kit from the Silicon Laboratories, Inc. for our realistic hands-on lab equipment. It is a 25 MIPS 8051 microcontroller with 32K programmable FLASH. Its Integrated Development Environment (IDE) is a complete, standalone software program that provides students with the Keil software 8051 development tools that provides students with the excellent hands-on opportunity to work on the real-world embedded system projects instead of implementation by simulation only.The uniqueness of the course model is its portable tiny in-box real-world equipment labware which can be conducted anywhere without constraints and its portable labs with infused state-of-arts technology to inspire creativity and life-long learning. Students can also gain the engineering experience and hardware and software co-design, and code development with real MCU. A textbook "Embedded System Software Development" contracted with Springer publisher will be published in 2010. The book includes all the lab implementations that are very flexible and convenient for students and instructors. All teaching and learning materials including review questions, exercises, and all labs on this microcontroller kit, and instructor supplemental materials will be available online. The "learning by doing" pedagogy will promote students' life-lime long learning skills that students not only practice pre-designed hands-on labs, but also have opportunity to design and invent their own small smart embedded devices. Students will get benefits from the experience in software engineering life cycle of software requirements analysis, modeling, design, development, testing, and integrating the well packed products with the supported hardware devices. On the other hand, students can also get electronic engineering discipline experience such as engineering computation and schematic engineering.