Curriculum Overview
IoT Collaborative faculty and staff have been actively building and delivering new courses needed to provide students with the skills and experience necessary to drive IoT product and service innovation. The following Technical Courses are for engineering and computer science students.
Introduction to Connected Devices (CWRU EECS 377 / CSU EEC 492 & CIS 493)
Course Description: Introduction to Connected Devices (e.g., Internet of Things). Undergraduate students work to build a complete connected-device system, an embedded device with wireless networking, cloud and web, and mobile, and then develop hands-on experience with systems-level aspects of the connected-device system, including analytics, remote firmware update, load testing, and essential security. Students learn about current architectures, languages, and technologies, such as Pub/Sub (MQTT), Python, Objective-C, Python Django, JavaScript, HTML/CSS, and Bluetooth Low Energy.
The course is organized around building a simple product – colored desk lamp – to motivate the exploration of the various concepts and technologies with a practical example. In addition to learning the technical aspects of connected device development, students also learn skills that are key to successful participation in large projects: each student is paired up with a different partner each week and therefore learns to identify and build on strengths that different members
of the team bring; each new layer of the connected device infrastructure is presented in a manner
that students can learn about the theoretical aspects as well as the technology platform.
Background: This course was developed to address a need in the undergraduate engineering and computer science curriculums to prepare students for building, deploying, and managing IoT products and services. Building IoT products requires connecting different platforms, often with a variety of technologies and programming languages, into a system. Both the variety of platforms and the “systems” nature of IoT make it challenging for undergraduate students in particular. This course was developed as a partnership between higher education and industry. Nick Barendt, CWRU alumnus and Executive Director of ISSACS, co-developed the course in 2015 in partnership with a team of expert developers and designers at LeanDog, Inc. a software consultancy.
Since 2018, the course has been offered as a joint CWRU-CSU class, taught by Dr. Nigamanth Sridhar (CSU) and Nick Barendt (CWRU). They presented a paper on the course at the American Society for Engineering Education (ASEE) in 2018.
Designing IoT Edge Devices (CWRU EECS 397 Special Topics / CSU CIS 493/EEC 492 Special Topics)
Course Description: In this class, students experience the development process of an Internet-of-Things (IoT) device from a software/hardware co-design perspective through a series of laboratory projects, which utilize real-time FPGA hardware, an embedded Linux system, and cloud-based connectivity. Topics covered include the embedded Linux build toolchain, Linux Kernel Device driver development, FPGA System-On-Chip peripherals, hardware/software debugging, user interface design, sensor data acquisition, connected device networking protocols, edge-computing, and cloud-based services. Prior experience with C/C++, Python, and Verilog languages is recommended.
Background: Following up on the success of the Introduction to Connected Devices class, Intel Corporation’s Internet of Things Group approached CWRU in 2019 about funding the development of a new course in Edge Computing. Edge Computing is the next evolution of computing, after Cloud Computing, driven by the requirements of IoT where computing resources are distributed closer to the “edges” of the networks to reduce communication latency and costs. Intel Corporation provided a generous grant plus equipment to support the development of this course and student laboratory. CWRU and CSU faculty have collaborated on the course design and content. The Designing IoT Edge Devices course is being offered for the first time in the Spring 2020 semester as a “Special Topics” pilot offering in a joint CWRU-CSU course.