A New Course for Teaching Internet of Things: A Practical, Hands-on, and Systems-level Approach
Nicholas Barendt, Nigamanth Sridhar, Kenneth A. Loparo · 2020
Abstract This paper describes a one-semester course developed to address a gap in undergraduate engineering education – preparing students for creating and maintaining Internet-of-Things (IoT) products and services. The principles that drove the course content and organization are explained, along with a novel courseware delivery mechanism and organization to facilitate repeatability, as well as some additional tools the authors have found useful. The two-part organization of the IoT course content – building a complete IoT system, and then investigating system properties, behaviors, and concerns of that system – is explained in some depth. A detailed course outline illustrates the wide variety of technologies students gain hands-on experience with during the course, including embedded, web/cloud, mobile, analytics, load testing, security. A novel application of DevOps tools to incrementally deliver multi-platform (systems) solutions each week is discussed. Finally, lessons learned from several offerings of the course are presented, along with challenges, opportunities and successes, and directions for future work.