Internet of Things (IoT) is the study of embedded smart devices in the Internet based interconnection network. Going beyond the Internet applications, it looks at agent based distributed computation compliant to standard protocol suite.

The course begins by covering a broad range of introductory topics such as wireless communication basics, wireless MAC layer protocols, before moving on to the problems arising out of applications designed for the sensor networks. These include localization, coverage, data aggregation, topology control, mobility, and application design.

Next we look at the building blocks of IoT and their characteristics. A number of domain specific IoT applications and their architecture in vehicular, social, and sensor networks are discussed. Data analysis tools and machine learning techniques are introduced to process large datasets produced by IoT applications.

In the lab, we introduce the programming aspects of IoT applications on Arduino and Raspberry PI platforms. Cloud-based IoT platforms are used to design application. All students are expected to complete a course projects that involves designing and building a complete IoT application.

A combination of reference books and a set of research papers will be used to cover the fundamentals, seminal findings and new directions in IoT research.