Course Description
Internet-of-Things (IoT) - 2024
I. Overview:
The Internet of Things (IoT) plays a pivotal role in our daily lives, revolutionizing how we interact
with the world around us. From smart homes and cities to industrial automation and healthcare,
IoT technologies are ubiquitous, enhancing efficiency, convenience, and safety. In smart homes,
IoT devices enable remote monitoring and control of appliances, while in healthcare, wearable
devices track vital signs, providing valuable insights for patient care. Industrial IoT applications
optimize manufacturing processes, improving productivity and reducing downtime. By
understanding the significance and applications of IoT, students gain insight into the
transformative potential of this technology. This course aims to provide students with a
comprehensive understanding of the Internet-of-Things (IoT) from an engineering perspective. It
covers fundamental concepts, including the definition, structural evolution, and architecture of IoT
systems. Additionally, it delves into key communication protocols, enabling technologies, and
real-world use-cases to illustrate the practical applications of IoT across various domains. Through
a combination of theoretical learning, practical projects, and collaborative activities, students will
develop the skills and knowledge necessary to excel in the dynamic field of Internet-of-Things
engineering.
II. Course Objectives:
1. Define the Internet-of-Things (IoT) and describe its structural evolution and architecture.
2. Analyze key communication protocols and enabling technologies used in IoT
environments.
3. Design and implement IoT solutions across different layers of the IoT stack.
4. Demonstrate proficiency in data management, processing, and analysis within IoT
contexts.
5. Evaluate real-world IoT use-cases and propose innovative solutions leveraging IoT
technologies.
6. Assess security risks and privacy concerns in IoT deployments and implement appropriate
measures to mitigate them.
III. Content:
The course content encompasses the following topics:
Introduction to IoT:
● Definition and evolution of IoT.
● Overview of IoT architecture.
● Exploration of communication options and enabling technologies.
● Examination of real-world IoT use-cases across industries.
Device Layer:
● Understanding ubiquitous networking principles.
● Exploring Wireless Sensor Networking fundamentals.
● Implementing Topology Control techniques for efficient network management.
Networking Layer:
● Analyzing Physical Layer considerations, including radio propagation and link
budget calculation/simulation.
● Overview of Link Layer protocols such as ZigBee, LoRaWAN, 802.11ah, and
BLE.
● Introduction to Network Layer protocols like RPL.
● Discussion of Session Layer protocols: MQTT, AMQP, COAP, XMPP.
Middleware/Adaptation Layer:
● Strategies for Data Ingestion from IoT devices.
● Considerations for Data Storage in IoT environments.
● Techniques for Data Processing and analysis.
● Introduction to Machine Learning (ML) for IoT applications, covering centralized
ML and federated ML approaches.
Application Layer:
● Exploration of various IoT application areas, including smart cities, healthcare,
agriculture, and industrial automation.
● Case studies and real-world examples demonstrating the implementation of IoT
solutions in different domains.
Security and Privacy in IoT:
● Understanding the unique security challenges posed by IoT systems.
● Introduction to cryptographic techniques for securing IoT communications.
● Discussion of privacy concerns and regulations in IoT deployments.
IV. Course Learning Outcomes:
Upon successful completion of this course, students will be able to:
1. Describe the concept of the Internet-of-Things (IoT) and its evolution, identifying its
structural components and architectural principles. (Objective 1)
2. Evaluate various communication protocols and enabling technologies employed in IoT
systems, understanding their functionalities and applications. (Objective 2)
3. Develop IoT solutions across different layers of the IoT stack, considering scalability,
interoperability, and security requirements. (Objective 3)
4. Apply data management techniques and tools to manage, process, and analyze data
generated by IoT devices, ensuring efficient data utilization. (Objective 4)
5. Analyze real-world IoT use-cases across diverse domains, identifying challenges and
proposing effective solutions to address them. (Objective 5)
6. Assess security risks and privacy concerns associated with IoT deployments, implementing
suitable measures to safeguard sensitive data and mitigate potential threats. (Objective 6)
V. Delivery:
The course is structured as a block module with a minimum of 40 lecture hours, typically
conducted over one week. Lecture sessions are complemented by instructor-led tutorial sections
and a culminating course project. To accommodate diverse learning preferences, hybrid learning
methods are employed, combining both online platforms (University’s Google Meet) and face-to-
face sessions at the UWC main campus. Lecture recordings are also made available
asynchronously on the university's online learning platform (Ikamva).
VI. Timetable (2024)
Day1:5th August 2024 Day2:6th August 2024 Day3 :7th August 2024 Day4:8thAugust 2024
Introduction Support Layer (SL) Networking Layer (NL) Device Layer (DL)
Application Layer Support Layer (SL) Networking Layer (NL) Device Layer (DL)
BREAK
Tutorial 1: Tutorial 2: Tutorial 3: Tutorial 4:
Socket-aware Socket-aware Socket-aware IoT Projects
IoT Broker (MQTT+) IoT Broker (MQTT+) IoT Broker (MQTT+) Presentation
Research Project Research Project Research Project Research Project
VII. Assessment:
The assessment of this IoT course is continuous and encompasses both individual and group
components. Through these projects, students will demonstrate their proficiency in designing,
implementing, and managing IoT systems, as well as their ability to analyze real-time data for
actionable insights and threat detection in cyber-physical systems. Three projects have been
devised for assessment:
Middleware for IoT Networking – Approaches, Architectures, and
Design Space
Individual Project
Hand-in: 21 September 2014
This project explores the critical role of middleware in the Internet of Things (IoT), focusing on
its influence on communication, data processing, and integration among diverse IoT devices and
applications. Middleware acts as an intermediary layer that ensures the seamless operation of IoT
networks, and this research investigates various middleware approaches, architectures, and
design spaces to understand their impact on performance, scalability, and security.
Key objectives include a comprehensive review of current middleware technologies, an analysis
of different middleware architectures such as service-oriented, message-oriented, event-driven,
and data-centric models, and an exploration of design considerations like modularity, scalability,
interoperability, and security. The project also evaluates the integration of communication
protocols within middleware frameworks and examines real-world IoT implementations to
identify best practices and future trends.
By the end of the project, students will have gained a deep understanding of how middleware
choices affect IoT systems, equipping them with the knowledge to anticipate and address future
challenges in IoT middleware design and implementation.
Zero-Touch IoT Networking
Group Project 1
Hand-in: 30th August 2024
The Zero-Touch IoT Networking project explores the next generation of network management,
focusing on minimizing human intervention through automation and advanced technologies.
This approach enables IoT networks to operate autonomously, dynamically adapting to changing
conditions, detecting, and addressing issues such as congestion, faults, and security threats
without manual oversight.
Key project activities include emulating IoT networks using protocols like RPL, CoAP, and
MQTT, developing custom middleware to process and analyze network logs, and applying
artificial intelligence techniques such as Natural Language Processing (NLP) and machine
learning (ML). The middleware will be designed to integrate seamlessly with the emulated IoT
environment, leveraging logs to enhance network performance, security, and scalability.
The project aims to create a self-sufficient, knowledge-aware network that can autonomously
learn and adapt, significantly reducing the need for human intervention. This research will
provide students with hands-on experience in IoT network emulation, middleware development,
and the application of AI, equipping them with the skills to contribute to the future of automated,
intelligent network management.
Design of a CPS-IoT Surveillance Platform
Group Project 2
Hand-in: 30th August 2024
The "Design of a CPS-IoT Surveillance Platform" project aims to fortify network security within
Cyber-Physical Systems (CPS) and Internet of Things (IoT) environments against rising cyber
threats. This project focuses on developing a robust surveillance system driven by machine
learning to detect and mitigate Distributed Denial of Service (DDoS) attacks and other security
breaches in real-time.
Participants will explore and implement two network setups: a standard MQTT network and an
enhanced MQTT+ network, the latter featuring advanced filtering, queuing, and machine
learning capabilities. These setups will operate under both normal and attack conditions,
generating comprehensive datasets that reflect a wide range of network behaviors. The project
will also involve the examination of widely used DDoS tools and the evaluation of TCP-aware
IoT telemetry protocols to build an effective and resilient surveillance platform.
By leveraging machine learning models, the project aims to classify network traffic into normal
and attack categories, enabling proactive detection and response to threats. Through this
collaborative effort, participants will gain hands-on experience in IoT security, dataset
generation, and machine learning, equipping them with essential skills to address the evolving
challenges in cybersecurity. The project underscores the importance of innovative, AI-driven
solutions in safeguarding IoT ecosystems from malicious activities.