Embedded systems have been an important part of daily human life for a long time. However, in academic education the subject is somewhat new and to some extent undefined. Most courses focus on hardware aspects of embedded systems, and at the same time there is a lack of embedded programming courses. In this paper, we describe our experiences of organizing, designing and evaluating an embedded programming course. We describe course assignments in detail and present pass-rate of each assignment. We also present our improvements for course of upcoming years.
Embedded programs are controlling a number of devices we use daily. The software of an embedded device is usually tightly coupled with the device hardware, and therefore developing embedded programs is fundamentally different from programming general-purpose computers. In academic education both hardware and software aspects of embedded systems need to be covered. In this paper we provide some general guidelines that can serve as a starting point when designing embedded programming courses. These guidelines are based on our experiences and evaluation of two implementations of an embedded programming course that consists of hands-on assignments and lectures. Furthermore, we discuss about how to improve the course in the future.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.