Internet of Things (6 Units) 95-733                                  

[ Home | Schedule |Syllabus | Course description ]

 

Prerequisites: 95-712 Object-oriented Programming in Java or permission of the instructor.

Course Description:

Traditional products are becoming smart products and smart products are becoming connected. From smart homes to smart cities, this trend 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, we will spend some time studying how the Web was designed and how its principles can be used to design the internet of things.

This 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 will do so in a way that is based on sound architectural principles.

Learning Outcomes:

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

2. Design IoT systems using RESTful principles.

3. Describe the differences and similarities between two important meta-languages - XML and JSON.

4. Explore several technologies and standards that play a significant role in the Internet of Things. 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.