Teaching Internet of Things (IoT) Literacy: A Systems Engineering Approach
Internet of Things (IoT) is a modern trend that promises to invade our world with billions of smart, interconnected devices, all programmed to make our life easier. Teaching such a vast and dynamic field is for educators both a necessity and a challenge. Programming, but also other IoT-relevant topics (hardware, networking, artificial intelligence), are already covered in core computing curricula. Does this mean that fresh graduates are well prepared to tackle complex IoT problems? Unfortunately, nothing could be further from the truth. The problem is that IoT devices are complex systems, where software, hardware, and humans interact with each other. From this interaction, unique behavior and hazardous situations can emerge, that will remain undetected unless the system is analyzed as a whole. We believe that a holistic, system-centric teaching approach can effectively train future IoT professionals. We demonstrate this claim by presenting two successful IoT-related courses. Both use a project-learning approach, where students end-to-end engineer a smart assistive system, inspired by real-life. We teach only long-lived principles relevant for solving this engineering problem. The minimalistic set of topics includes data acquisition, signal processing, control theory, machine learning, and embedded software engineering. Specific to our approach is the intensive use of microcontroller-based miniature systems, including robotic kits, model railways and roads, and wet labs. Positive students’ evaluations show that this mix of topics, together with a strong hands-on project component, supported by a rich partnership with industry and academic idea incubators, bring engagement, self-confidence and realism in the IoT classrooms.