81683 - Internet of Things

Course Unit Page


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Quality education Affordable and clean energy Industry, innovation and infrastructure Sustainable cities

Academic Year 2022/2023

Learning outcomes

At the end of the course, students will learn the architectures and methodologies at the basis of the Internet of Things (IoT), and will develop advanced competences about the wireless technologies, the network protocols, the integration of mobile and pervasive end-devices in a Machine-to-Machine (M2M) paradigm, and the techniques and tools for sensor data management and analytics. They will be able to design and implement complex and heterogeneous IoT systems composed of networked edge sensing devices, fog/cloud platforms for scalable data management and advanced software for sensor data analytics via machine-learning and statistical techniques. Middleware platforms for M2M-based IoT systems will be illustrated as well as edge/distributed/cloud computing principles. New services, service platforms and application scenarios will be illustrated, designed and experimented, with high emphasis on advanced and visionary services.

Course contents

The classes will be in English (previous years' editions were in Italian). The class will introduce the enabling technologies, protocols, software architectures and applications for the development of the emerging Internet of Things (IoT) paradigm. After a short introduction to pervasive computing and the emerging fields of applications (e.g. Industry 4.0, domotics, intelligent transportation systems, wearable devices, etc.) the class will provide a exhaustive illustration of the enabling components of IoT systems. These will include wireless communications among end-devices and towards infrastructures, data processing, languages for the development of applications and prototypes (Arduino, STM32 Nucleo, etc.). Specifically, the components of typical IoT system will be illustrated by following a data-oriented approach: from data generation on behalf of sensors to data transmission in WSAN, WPAN, WLAN, up to cloud streaming and storages, and including the data processing and integration in complex software systems.

A short summary of the course contents includes:

Introduction to IoT systems: definitions, applications, enabling technologies

IoT components: from sensors to gateway.

  • Sensors and actuators, sketchy illustration of design principles of electronic circuit boards, sensing and data acquisition policies.
  • Wireless communication and coding technologies for IoT
  • Machine-to-machine (M2M) communication among devices: wireless technologies for WPAN (BLE, IEEE 802.15.4, Z-Wave, etc.), WLAN and WSAN (LoRA, Dash7, Spirit, etc.)
  • Network architectures and routing (6LoWPAN, RPL)
  • Microcontrollers and System on Chip (SoC) prototypes’ programming (e.g. Arduino, STM32 Nucleo, ESP8266, etc.)

IoT components: from gateway to cloud.

  • Data acquisition protocols: XMPP, CoAP, MQTT, AMQP, WebSocket, etc.
  • Architectures for data storage and processing: cloud/fog/edge computing
  • IoT platforms: AWS IoT, Watson IoT, ThingSpeak, etc.
  • IoT & Big-data

IoT components: from cloud to applications.

  • Web of Things and Semantic Web 3.0 Standard for M2M and IoT
  • Machine learning principles (classification, clustering, regression, anomaly detection, etc.) and applications for sensor data analysis.
  • Frameworks for integrated development of IoT applications: AllJoyn, Google Thing, Apple HomeKit, etc.

IoT Open Issues and bottlenecks.

  • Privacy and Security management;
  • Energy efficiency for end-devices and power saving techniques;
  • Scalability.



Slides, link to book chapters, scientific papers, online resources indicated on the course's website.

Teaching methods

Lessons and experimental classes with PC and projectors.

The classes and slides are in English.

In relation to the kind of activities and didactical methods adopted, the attendance to this class will require the preliminary participation of all the students to the Modules 1 and 2 of the Safety rules on study places, which can ne followed remotely in e-learning via the following link: [https://elearning-sicurezza.unibo.it/ ]

Assessment methods

The final assessment (exam) will include:

(i) the oral exam, with questions on the whole program, and a seminar on behalf of each student on a topic relevant for the IoT and course program, to be agreed with the teaching staff; The seminar and oral part will determine the 60% of the evaluation score.

(ii) a project, based on proposed lines provided by teaching staff or students themselves (in the latter case it is mandatory to have a preliminary definition and approval agreed with the teaching staff). The project discussion part will determine the 40% of the evaluation score.

Teaching tools

The material (slides and code) illustrated in the lessons will be made available to students on the website of the course. The website will also contain: links to SW tools available for the development of the project, links to sources of information (e.g. forums, scientific papers, etc.) related to the topics of the classes.



Links to further information


Office hours

See the website of Luciano Bononi

See the website of Marco Di Felice