Internet of Things


Units: 6


Traditional products are becoming smart products and smart products are becoming connected. From smart homes to smart cities, this trend in product development and design is likely to have a profound impact on our future.

This course takes the view that the internet of things is best viewed as an extension of the World Wide Web. So, throughout this course, we will consider how the Web was designed and how its principles can be used to design the internet of things.

The course combines weekly readings from journal articles with hands-on exercises and programming. The student will work with modern IOT technologies, standards, and platforms. We will connect sensors and actuators to the cloud but we will do so in a way that is based on sound architectural principles.

Learning Outcomes

At the end of this course, the student will be able to:

  1. understand the architectural principles that were used to design the World Wide Web.

  2. design IoT systems using RESTful principles.

  3. appreciate the differences in message formats, such as binary and textual, and be able to select which is appropriate in different settings.

  4. will understand several important IoT protocols. We will study MQTT, XMPP, CoAP, and HTTP.

  5. build firmware applications for a microcontroller.

  6. build firmware applications that interact with digital twins on the cloud.

  7. develop web applications that are usable in real time IoT environments.

  8. appreciate the privacy and security issues associated with the IoT landscape.

  9. appreciate the importance of identity and identity management in the internet of things.

Prerequisites Description

The ability to program is the main prerequisite. The student may be asked to learn and work with programming languages he or she has not been exposed to. A certain level of programming maturity is required. If you are unsure about your ability, speak with your instructor.