Internet of Things Garage

Undergraduate and Postgraduate Teaching




CM2211: Internet of Things (Undergraduate) - Core Module offered in Spring (YouTube) (Online)

CM2211 module will introduce the fundamental principles and emerging areas in computer and communication networks, covering the underlying technologies and protocols, implementation, and issues of network security. In CM2211 students will develop an understanding of how to design and develop an Internet of Things (IoT) system. This module aims to cover the end-to-end IoT systems design and development process which includes aspects such as architecture, wired and wireless connectivity, sensing and actuation, computation and analytics, human factors and interactions, privacy and security issues. The students will develop an understanding of how different design decisions may lead to different trade-offs. Further, students will also learn practical aspects such as device programming and debugging, cloud integration, and deployments. Additionally, students will undertake a team project to develop an IoT system to tackle a problem of their choice. The module content is structured under eight theme, namely, (1) Applications and Use cases, (2) Architectures, (3) Sensing and Actuation, (4) Networking and Communications, (5) Data management and analytics, (6) Privacy and Security, (7) Human Factors and Interactions, and (8) Design Strategies and Prototyping.


CMT223: Internet of Things: Systems Design (Postgraduate) - Elective Module offered in Spring (Online)

In this module students will develop an understanding of how to design and develop an Internet of Things (IoT) system. This module aims to cover the end-to-end IoT systems design and development process which includes aspects such as architecture, wired and wireless connectivity, sensing and actuation, computation and analytics, human factors and interactions, privacy and security issues. The students will develop an understanding of how different design decisions may lead to different trade-offs. Further, students will also learn practical aspects such as device programming and debugging, cloud integration, and deployments. Additionally, students will undertake a team project to develop an IoT system to tackle a problem of their choice. CMT223 (Postgraduate) is a strict superset of CM2211(Undergraduate). In addition to meeting all requirements of CM2211, students enrolled in CMT223 will be expected to develop a non-trivial IoT system with advance features that go beyond what they learn during the module. Another difference is that CMT223 (Postgraduate) students are expected to write a group report in a conference paper format (6-8 pages). This covers a training needed to complete the full cycle of a methodical study in a short span of 12 weeks to produce a scientific report with evidence and interpretations for management decisions..



Internet of Things Lab Book (Download)


Students are provided with a lab book that explains each practical sessions steps by step. This lab book guides students through a series of labs. Each lab has its objectives. It expected that students should be able to complete each lab session within two hours (most of the time much less). This booklet does assume that students have some amount of networking knowledge. Further, it is important to mention that IoT by nature is a broad subject. Therefore, we cannot teach all the topics in-depth in a few lab sessions. For example, Arduino programming use C/C++ programming languages. However, we do not expect students to be an expert on C/C++ to follow the lab session. However, if the students have some background, they will find some known concepts in action and feel comfortable. If the student has never seen C/C++ before, they will, of course, feel nervous and sometimes will feel lost.


Throughout the lab book, we have provided explanations and external link and references to reading material. Especially if the students do not understand specific programming tasks such as C/C++, it may worth reading those links. Further, these link will provide guidance for students to explore the universe of IoT by their own, beyond the labs we have provided here. Finally, we would like to emphasis that this is not a programming course. Therefore, we do not try to teach a particular programming language (though we try to provide as much links and references for students to develop their skills). It is up to the students to develop the gaps in their knowledge by referring to the links we provided.



Internet of Things Advanced Lab Book

This IOT Advanced Lab Book is primarily compiled to support the university courses on Internet of Things: Systems Design at both under graduate and postgraduate levels. It is also designed to complement the IOT Lab Book. The IoT Lab Book primarily focuses on end-to-end IoT systems development, combining microcontrollers, single-board computers and IoT cloud platforms.

This Advanced Lab Book aims at complex IoT network design, and simulations. CISCO Packet Tracer is a powerful network simulation tool developed by Cisco Systems, designed to help students and professionals visualize, build, and troubleshoot network systems without the need for physical hardware. As an educational tool, it is invaluable for understanding complex concepts and scenarios in networking and the Internet of Things (IoT). With Packet Tracer, users can simulate the configuration of Cisco routers and switches using a command-line interface similar to that used in real life. This functionality extends to IoT simulations, allowing learners to integrate and manage IoT devices within various network configurations. Users can create virtual representations of networks including IoT devices like sensors, actuaries, and connected appliances, making it possible to observe and control their interactions in real-time simulated environments.

The tool's intuitive drag-and-drop interface makes it accessible for beginners, yet it is robust enough to offer detailed, advanced simulations for more experienced users. Cisco Packet Tracer primarily supports a simplified form of JavaScript for creating interactive activities and simulations, especially in the context of the Internet of Things (IoT). This allows users to script behaviors and automate responses within the simulated network environment, which is particularly useful for modeling complex network scenarios and IoT integrations.



Internet of Things Project Work Book

This IOT Advanced Lab Book is primarily compiled to support the university courses on Internet of Things: Systems Design at both under graduate and postgraduate levels. It is also designed to complement the IOT Lab Book. The IoT Lab Book primarily focuses on end-to-end IoT systems development, combining microcontrollers, single-board computers and IoT cloud platforms.

This Advanced Lab Book aims at complex IoT network design, and simulations. CISCO Packet Tracer is a powerful network simulation tool developed by Cisco Systems, designed to help students and professionals visualize, build, and troubleshoot network systems without the need for physical hardware. As an educational tool, it is invaluable for understanding complex concepts and scenarios in networking and the Internet of Things (IoT). With Packet Tracer, users can simulate the configuration of Cisco routers and switches using a command-line interface similar to that used in real life. This functionality extends to IoT simulations, allowing learners to integrate and manage IoT devices within various network configurations. Users can create virtual representations of networks including IoT devices like sensors, actuaries, and connected appliances, making it possible to observe and control their interactions in real-time simulated environments.

The tool's intuitive drag-and-drop interface makes it accessible for beginners, yet it is robust enough to offer detailed, advanced simulations for more experienced users. Cisco Packet Tracer primarily supports a simplified form of JavaScript for creating interactive activities and simulations, especially in the context of the Internet of Things (IoT). This allows users to script behaviors and automate responses within the simulated network environment, which is particularly useful for modeling complex network scenarios and IoT integrations.




Hall of Fame



2022